javascript Function.prototype 问题
javascript Function.prototype issue
我开始学习 JavaScript 并有以下问题:
var f = function foo() {}
Console.log(f.__proto__ === Function.prototype) //true
Console.log(f.__proto__ instance of Function) //false
为什么第 3 个语句使用 instanceof returns 错误。我的理解是实例的 RHS 参考传递的 class 的原型,然后在对象或其原型中匹配它。请让我知道我在这里缺少什么?
引用 this 来实现 instance-of.
referred this for implementation of instance-of
好吧,这只是一个错误的实现。 instanceof
运算符不匹配对象本身,仅匹配其原型,而不是构造函数的 .prototype
。你的
x instanceof Function
相当于
Function.prototype.isPrototypeOf(x)
f.__proto__
(即 Function.prototype
)不成立 - 它不是其自身的原型。
我开始学习 JavaScript 并有以下问题:
var f = function foo() {}
Console.log(f.__proto__ === Function.prototype) //true
Console.log(f.__proto__ instance of Function) //false
为什么第 3 个语句使用 instanceof returns 错误。我的理解是实例的 RHS 参考传递的 class 的原型,然后在对象或其原型中匹配它。请让我知道我在这里缺少什么? 引用 this 来实现 instance-of.
referred this for implementation of instance-of
好吧,这只是一个错误的实现。 instanceof
运算符不匹配对象本身,仅匹配其原型,而不是构造函数的 .prototype
。你的
x instanceof Function
相当于
Function.prototype.isPrototypeOf(x)
f.__proto__
(即 Function.prototype
)不成立 - 它不是其自身的原型。