javascript - js原型链问题
PHP中文网
PHP中文网 2017-04-11 13:01:39
0
5
619
var a = {};
a.prototype = {b:'heheh'}
console.log(a.b)

为什么a.b 是undefined呢??

PHP中文网
PHP中文网

认证0级讲师

reply all(5)
伊谢尔伦

这种情况其实是为 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属性是针对于构造函数的.
一个是函数, 一个是对象. 不可混淆.

Peter_Zhu
var a = {};
a.prototype = {b:'heheh'}   //给a添加一个属性prototype,值为一个对象
console.log(a.prototype.b)  //要取就要这样取 'heheh'

你本意是想添加原型链属性,原型链希望有助。

阿神

区分一下prototype和__proto__

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template