node.js - JavaScript Object.getPrototypeOf函数怎么用?
本文介绍了node.js - JavaScript Object.getPrototypeOf函数怎么用?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
参考https://msdn.microsoft.com/zh-cn/library/mt146832(v=vs.94).aspx上提的示例测试Object.getPrototypeOf
函数结果各种不一样. 在node环境和浏览器环境都是.
var proto = { y: 2 };
var obj = { x: 10 };
Object.getPrototypeOf(obj, proto);
proto.y = 20;
proto.z = 40;
if (console && console.log) {
console.log(obj.x === 10); // Returns true
console.log(obj.y === 20); // Returns true
console.log(obj.z === 40); // Returns true
}
如上示例,真实打印结果却是
true
false
false
求解答..
解决方案
你仔细看代码,第三句代码Object.getPrototypeOf(obj, proto);
根据文档的说明,应该是要设置obj
的原型为proto
,这里明显写错了,应该是Object.setPrototypeOf(obj, proto);
这样,三个输出就都为true了。
同时,Object.getPrototypeOf(obj)
这个方法接收的参数只有一个,就是要获取原型的对象。
这篇关于node.js - JavaScript Object.getPrototypeOf函数怎么用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文