构造函数和原型对象构造函数也是函数,用new创建对象时调用的函数,与普通函数的一个区别是,其首字母应该大写。但如果将构造函数当作普通函数调用(缺少new关键字),则应该注意this指向的问题。var name = "Pomy";
function Per(){
console.log("Hello "+this.name);
}
var per1 = new Per(); //"Hello...
分类:
编程语言 时间:
2015-06-24 14:42:58
阅读次数:
145
原型对象 每个javascript对象都有一个原型对象 原型链 由于原型对象本身也是对象,根据上边的定义,它也有自己的原型,而它自己的原型对象又可以有自己的原型,这样就组成了一条链,这个就是原型链,JavaScritp引擎在访问对象的属性时,如果在对象本身中没有找到,则会去原型链中查找,如果找到,直...
分类:
Web程序 时间:
2015-06-21 22:18:43
阅读次数:
150
这篇文章通过四种方式获取Javascript中的数据类型:通过隐藏的内置[[Class]]属性;通过typeof运算符;通过instanceof运算符;通过函数Array.isArray().我们也会看看原型对象的构造函数,可能会有意想不到的数据类型结果。 [这篇文章是我在adobe发布的文章...
分类:
编程语言 时间:
2015-06-14 15:04:18
阅读次数:
187
每一个引用类型的实例中,都有一个指针,指向其原型对象。这个指针在非IE浏览器里通过__proto__表示,而在IE里不提供。看如下代码:obj = {};obj.__proto__.toString = function() { return "__proto__"; }var ceshi ...
分类:
其他好文 时间:
2015-06-14 10:50:03
阅读次数:
135
我们创建的每一个个函数都有prototype(原型)属性,这个属性是一个指针,指向一个对象,而这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法。如果按照字面的意思来理解,那么prototype就是通过调用构造函数而创建的那个对象实例的原型对象。使用原型对象的好处是可以让所有对象实例共.....
分类:
其他好文 时间:
2015-06-12 23:45:03
阅读次数:
135
开篇
之前对js中的原型链和原型对象有所了解,每当别人问我什么是原型链和原型对象时,我总是用很官方(其实自己不懂)的解释去描述。有一句话说的好:如果你不能把一个很复杂的东西用最简单的话语描述出来,那就说明你没有真正的理解。最近正在读《Javascript高级程序设计》,书中对原型对象和原型链的描述让我受益匪浅,下面仅用一个对比性的例子来说明。
我们经常会这么写 function Perso...
分类:
其他好文 时间:
2015-06-12 19:28:13
阅读次数:
124
在javascript中每创建一个function,就会自动有一个prototype属性,这个属性是一个指针,指向原型对象,原型对象中的有个默认的constructor,这个constructor又指向了那个function
分类:
编程语言 时间:
2015-06-10 12:00:48
阅读次数:
127
一、原型的概述: 我们创建的每个函数都有一个 prototype(原型)属性,这个属性是一个对象,它的用途是包含可以由特定类型的所有实例共享的属性和方法。 逻辑上可以这么理解:prototype 通过调用构造函数而创建的那个对象的原型对象。 使用原型的好处可以让所有对象实例共享它所包含的属性和...
分类:
编程语言 时间:
2015-06-09 06:08:19
阅读次数:
130
模式动机:在软件系统中,有些对象的创建过程非常复杂,但是又需要频繁创建,这时候需要提供一个原型对象,使用时只需要复制这个原型对象就可以了。模式定义(Prototype Pattern):使用原型实例指定创建对象的类型,然后通过复制原型对象来创建新对象。模式结构图:模式代码:bt_原型模式.h: 1 ...
分类:
其他好文 时间:
2015-05-29 17:10:34
阅读次数:
124
var proto = ""; function Person(name, age, job) { this.name = name; this.age = age; this.job = job; if (typeof this....
分类:
编程语言 时间:
2015-05-29 13:30:04
阅读次数:
112