84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
var a = {}; a.prototype = {b:'heheh'} console.log(a.b)
为什么a.b 是undefined呢??
认证0级讲师
这种情况其实是为 a 对象添加了一个 prototype 属性
var a = {prototype:{b:'heheh'}};
并不是对象的原型,我想你需要如此如此:
var a = {b:"b”}; var b= Object.create(a); b.b
或者如此如此:
function A(){} A.prototype = {b:'heheh'} var a = new A; a.b
只有构造函数才有原型链概念,而 a 是对象。
对象并没有prototype属性.对象的属性是__proto__, 是一个不可枚举的属性.prototype属性是针对于构造函数的.一个是函数, 一个是对象. 不可混淆.
var a = {}; a.prototype = {b:'heheh'} //给a添加一个属性prototype,值为一个对象 console.log(a.prototype.b) //要取就要这样取 'heheh'
你本意是想添加原型链属性,原型链希望有助。
区分一下prototype和__proto__
这种情况其实是为 a 对象添加了一个 prototype 属性
并不是对象的原型,我想你需要如此如此:
或者如此如此:
只有构造函数才有原型链概念,而 a 是对象。
对象并没有prototype属性.
对象的属性是__proto__, 是一个不可枚举的属性.
prototype属性是针对于构造函数的.
一个是函数, 一个是对象. 不可混淆.
你本意是想添加原型链属性,原型链希望有助。
区分一下prototype和__proto__