sac*_*024 5 javascript prototype object
我想知道__proto__ 和Object.create方法之间的区别.举个例子:
var ob1 = {a:1};
var ob2 = Object.create(ob1);
ob2.__proto__ === ob1; // TRUE
Run Code Online (Sandbox Code Playgroud)
这意味着Object.create方法创建一个新对象并设置__proto__指向作为参数接收的对象的链接.为什么我们不直接使用__proto__链接而不是使用create方法?
__proto__是非标准的,不会在所有地方都得到支持。 Object.create是官方规范的一部分,并且应该受到未来每个环境的支持。
不同地方的实施方式也不同。
例如,环境不同,对具有空原型的对象的处理也不同。在某些环境中,
__proto__继承自Object.prototype,因此具有空原型的对象没有特殊__proto__属性
创建对象和实现继承的公认方法是函数Object.create,如果您确实需要访问原型,您将需要使用Object.getPrototypeOf 这些函数是标准化的,并且应该在所有现代环境中都以相同的方式工作
| 归档时间: |
|
| 查看次数: |
606 次 |
| 最近记录: |