本文由葡萄城技术团队于博客园翻译并首发转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 如果我们自己编写从URL中分析和提取元素的代码,那么有可能会比较痛苦和麻烦。程序员作为这个社会中最“懒”的群体之一,无休止的重复造轮子必然是令人难以容忍的,所以大多数浏览器的标准库中都已经内置了URL对象。那么现在,有了它,我们就可以将URL字符串作为参数传递给URL的构造函数,并创...
面象对象编程技术的核心理念:封装、继承、多态;在一些主流的高级编程语言中,比如:C#,VB.NET,JAVA,PHP等都是很容易实现的,而如果要在javascript中实现面象对象编程,可就不那么直接和容易了,因为javascript并不是面向对象的语言,所以我们只能通过javascript的一些特性,比如:闭包、原型链等来模拟出面向对象编程,我认为这些是作为熟练掌握与灵活运用javascript的基础,园子里已有很多的javascript高手对于这方面都有介绍与...
序列化对象: 对象序列化:对象的状态转化为字符串,也可以将字符串还原为对象。方法:JSON.stringify(),用来序列化,JSON.parse(),用来还原对象。JSON(JavaScript Object Notation),即JavaScript对象表示法。var o = {x:1};var s = JSON.stringify(o); //s是o的深拷贝var p = JSON.parse(s); //p是s的深拷贝对象方法:1,toString() //返回对象值的字符串。默认的toString()方法并不会输出很多有用的信息,很多类都带有自定...
1.Window对象属性的文档元素(id)如果在HTML文档中用id属性来为元素命名,并且如果Window对象没有此名字的属性,Window对象会赋予一个属性,它的名字是id属性的值,而他们的值指向表示文档元素的HTMLElement对象。Window对象是以全局对象的形式存在于作用域链的最上层,这就意味着HTML文档中使用的id属性会成为可以被脚本访问的全局变量。如:<button id="but"/>就可以通过全局变量but来引用此元素。 2.多窗体窗口(iframe)不同于相互...
abs:绝对值ceil/floor:向上/向下取整round:四舍五入sqrt:开平方pow:取幂(N的M次方)max/min:最大值和最小值PI:获取圆周率random:0~1随机小数扩展:Math.round(Math.random()*(m-n)+n):n--m之间的随机整数原文:https://www.cnblogs.com/wangshouren/p/11615848.html
一、 JavaScript 设计思想 1994年,网景公司(Netscape)发布了Navigator浏览器0.9版。这是历史上第一个比较成熟的网络浏览器,轰动一时。但是,这个版本的浏览器只能用来浏览,不具备与访问者互动的能力。比如,如果网页上有一栏"用户名"要求填写,浏览器就无法判断访问者是否真的填写了,只有让服务器端判断。如果没有填写,服务器端就返回错误,要求用户重新填写,这太浪费时间和服务器资源了。 因此,网景公司急需一种网...
1)windows对象 浏览器对象模型(BOM :Browser Object Model)是JavaScript的组成之一,它提供了独立于内容与浏览器窗口进行交互的对象,使用浏览器对象模型可以实现与HTML的交互。它的作用是将相关的元素组织包装起来,提供给程序设计人员使用,从而降低开发人员的劳动量,提高设计Web页面的能力。BOM是一个分层结构1-1)使用BOM通常可实现如下功能: 1.弹出新的浏览器窗口 2.移动、关闭浏览器窗口及调整窗...
原型对象用字面量赋值时需要注意将constructor指回原对象。<script> function Person(name , age){ this.name = name ; this.age = age ; this.say = function (){ return "name : "+ this.name + "age: "+this.age ; } ; } Person.prototype = { address :"haerbin" , school:"哈工大"//, //constructor:Person } var p = new Person("z...
1function clone(obj)2{3if(typeof obj!=‘object‘){4return obj;5}6 7if(obj instanceof Array){8var arr=[];9for(var i=0; i<obj.length; i++){ 10 arr[i]=clone(obj[i]); 11 } 12return arr; 13} 14elseif(obj.constructor==Object){ 15var json={}; 16for(var name in obj){ 17 json[name]=clone(obj[name]); 18 } 19return json; 20} 21elseif(obj instanceof HTMLElement){ 22return obj.cloneNode(t...
本文是JavaScript The Good Part 有关对象和继承的学习笔记。1. Object.create本函数是ECMAScript 5中的标准函数,其作用是用一个对象作为原型来生成另一个对象,可以用以下的code 模拟实现。 if(typeof Object.create !== ‘function‘) {Object.create = function(proto){var F = function(){};if(typeof proto !== ‘object‘){//Follow the chrome error pattern.thrownew TypeError(‘Object prototype may only be an Ob...
Object.defineProperty(obj, prop, descriptor)方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回这个对象。 const freezeObj = Object.freeze(obj), Object.freeze()方法可以冻结一个对象,冻结后,不能对象freezeObj添加新的属性,不能修改其已有属性的值,不能删除已有的属性,以及不能修改改对象已有属性的可枚举性、可配置性、可写性。 descriptor: configurable 可配置性,当且仅当该属性...
区别于Javascript脚本里的预先定义好的对象,宿主对象不是由Javascript语言本身提供的(内建对象)和用户自定义对象,它是由Javascript的运行环境(如web浏览器)提供的。这种Web提供的预定义对象我们称为宿主对象。 宿主对象主要包括From、Image、Element,Document、Windows(浏览器对象模型,BOM)原文:http://www.cnblogs.com/leitao166/p/3556104.html
JavaScript 中的所有事物都是对象:字符串、数字、数组、日期,等等。在 JavaScript 中,对象是拥有属性和方法的数据。属性和方法属性是与对象相关的值。方法是能够在对象上执行的动作。举例:汽车就是现实生活中的对象。汽车的属性:car.name=Fiatcar.model=500car.weight=850kgcar.color=white 汽车的方法:car.start()car.drive()car.brake() 汽车的属性包括名称、型号、重量、颜色等。所有汽车都有这些属性,但是每款车的属性...
因为前几天做了一个promise对象捕获错误的面试题目,所以这几天又重温了一下promise对象。现在借这道题来分享下一些很基础的知识点。下面是一个面试题目,三个promise对象捕获错误的例子,返回结果有什么不同。 //使用throw添加错误事件var p = new Promise(function(resolve, reject) {resolve("ok");thrownew Error(‘error0‘);//setTimeout(function() { throw new Error(‘error1‘) }, 0);}); p.then(function(value){consol...
javascript面向对象(二)1.创建对象:如下代码: var user = new Object(); user.name = "小花"; user.age = "20";用这样的方法创建对象比较简单直观,也是JavaScript种创建对象最基本的方法。但是这样就有一个问题,如果我们需要创建多个对象,那么我就得写很多重复的代码。比如我们想创建另一个对象user1,我们就得重新将上面的代码重新写一遍,这在实际开发过程中是不合适的,这样如果对象过多,代码量将大大增加。2.工厂...