obj.prototype和Object.getPrototypeOf(obj)之间有什么区别
what is the difference between obj.prototype and Object.getPrototypeOf(obj)
我使用Object.create
方法创建了一个对象,因此Object.create
希望原型对象作为第一个参数,属性描述符是第二个参数。
var obj = Object.create({a:2},{b:{value:3}})
因此,{a:2}
是obj的原型。但如果我正在寻找像obj.prototype
这样的原型,则返回undefined
,但如果我使用Object.getPrototypeOf(obj)
进行检查,则返回{a:2}
你能告诉我这里怎么了吗?那么,Object.create
中的第一个参数是什么?
感谢
您发现了JavaScript语言中最奇怪的一件事:prototype
属性。在JavaScript中,对象通过原型链从父对象继承属性。
但JavaScript的工作原理是,对象的prototype
属性不是该对象的原型,而是用作使用new
从中创建的其他对象的原型的值。因此,Car.prototype
将成为用new Car()
创建新实例的原型的值。
在原型继承意义上,对象的原型实际上是Object.getPrototypeOf()
。例如,您可以在理解JavaScript 中的原型属性中了解更多信息
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- 全局变量和全局对象的属性之间有什么区别吗
- java.net和javascript之间正则表达式的差异
- JavaScript中的函数和对象之间没有区别吗?
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- Jquery在函数之间传递表行
- 根据某些条件在视图之间切换
- 在控制器和数据对象之间同步数据
- d3中堆栈函数和嵌套函数之间的差异
- JQuery:在页面之间滑动
- 如何使用JavaScript查找1和N之间的所有数字的总和
- 操作放置在画布上的元素之间的连接
- 在下划线中使用_(obj).map(callback)和_.map(obj,callback)之间的区别
- jquery在表单之间切换
- Nodejs API控制器,用于在API之间切换
- 如何在aspx页面之间传递参数
- 在索引.html和应用.js [node.js] 之间共享变量
- obj={value:1} 和 obj.value=1 之间的区别,用于重写对象
- 在React-Native js和Obj-C Bridge之间传递数据
- obj.prototype和Object.getPrototypeOf(obj)之间有什么区别