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__