我正在尝试继承和创建对象,不知怎的,这让我很困惑.
a = function (){console.log("test"); return "hello"};
b = new a();
//console output
test VM719:2
a {}
Run Code Online (Sandbox Code Playgroud)
这是什么意思 ?这是否意味着b包含?如果是的话那我就这样做
console.log(b.a);
//console output
undefined
undefined
Run Code Online (Sandbox Code Playgroud)
为什么会这样?其次,如果我这样做
b.__proto__
//console output
Object {}
a.prototype.test ="hello";
b.__proto__
//console output
Object {test: "hello"}
Run Code Online (Sandbox Code Playgroud)
这很好,因为新原因bs原型指向a.
console.log(b);
//console output
a {test: "hello"}
Run Code Online (Sandbox Code Playgroud)
这个输出是什么意思?当我记录b.test它给出"你好"但是当我记录它时它给出了"未定义".那么输出控制台中a的意义是什么?
如果构造函数返回nothing,null或任何原子/非对象值,则忽略所述值,并将新创建的对象引用返回给调用者.所以你在控制台中看到对象的构造函数...
| 归档时间: |
|
| 查看次数: |
61 次 |
| 最近记录: |