console.log(mc.__proto__.__proto__.__proto__);
时间: 2023-07-23 17:07:02 浏览: 105
这段代码输出的是 Minecraft 对象原型链上第三级原型对象的内容。根据 JavaScript 的原型链机制,这个对象应该是 Object.prototype,也就是说输出的内容应该是 Object.prototype 的属性和方法。这些属性和方法包括 toString、valueOf、hasOwnProperty 等等。
相关问题
console.log(mc.__proto__.__proto__.hasOwnProperty("hasOwnProperty"));有什么用
这段代码用于检查 JavaScript 中对象的原型链中是否存在 `hasOwnProperty` 方法。 `hasOwnProperty` 是 `Object.prototype` 中的一个方法,它用于检查一个对象是否具有特定的属性,而不是在原型链上继承的属性。因此,如果一个对象的原型链中存在 `hasOwnProperty` 方法,那么该对象可以使用该方法来检查自己是否具有某个属性。
在这个例子中,我们通过 `mc.__proto__.__proto__` 来访问 `mc` 对象的原型链上的第二层原型,即 `Object.prototype`。然后,我们使用 `hasOwnProperty` 方法来检查 `Object.prototype` 是否具有 `hasOwnProperty` 方法。由于 `Object.prototype` 确实有该方法,因此该代码将返回 `true`。
总之,这段代码可以用来验证 JavaScript 对象的原型链中是否存在 `hasOwnProperty` 方法,以及它是否可以被该对象所使用。
const sx_instanceof = function(parent, children){ const fp = parent.prototype; let cp = children.__proto__; while(cp){ if(fp === cp){ return true } cp = cp.__proto__ } return false } function People(){ } var p = new People() console.log( p instanceof People); console.log(sx_instanceof(People, p));
这段代码是实现了一个自定义的 instanceof 操作符。它的作用是判断一个对象是否是某个构造函数的实例。在这个例子中,sx_instanceof 的实现方式是通过逐层查找一个对象的 __proto__ 属性,判断其原型链上是否存在目标构造函数的原型对象,如果存在则返回 true,否则返回 false。在这个例子中,最终的输出结果应该都是 true。
阅读全文