javascript中通过Object.create创建一个对象时遇到的一个问题

var foo = function(){    this.name = "123";    this.length = 20;    this.age = 18;
}var bar = Object.create(foo);

bar.__proto__();console.log(bar.name);    //fooconsole.log(bar.length);    //0console.log(bar.age);    //18

如上所示代码,根据我的理解,bar.name应该为'123',bar.length应该为20,但是这里只有age的值。
大概理解是name,length属性和Function对象中的name,length冲突,如图:

https://img3.mukewang.com/5bd525bc00017d2202390202.jpg

但是不理解其中的原理和机制,求大神解答。

三国纷争
浏览 529回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript