下面是些例子,可以加深认识:
代码如下:
// 任何对象都有原型
obj = {};
console.log( obj.__proto__ );
console.log( Object.getPrototypeOf(obj) );
console.log( obj.__proto__ === Object.getPrototypeOf(obj) );
//对象并没有语法意义的prototype属性
alert(obj.prototype) //undefined
//prototype作为一个属性,仅存在于Function中,代表以这个Function创建的新实例集成的原型,和Function本身的原型无关
var F = function(name){
this.name = name;
}
obj = {a:3,
get b (){
return this.a;
}
};
F.prototype = obj;
newObj = new F('new name');
newObj.name; //作为构造器,name是newObj的自身属性
newObj.a; //3
//它继承了obj。可以通过这样证实:
Object.getPrototypeOf( newObj ) === obj; // true
newObj.__proto__ === obj; //true
声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com