gpt4 book ai didi

javascript - Javascript 的原生 `instanceof` 运算符和 MooTools 的 `instanceOf` 函数有什么区别?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:36:54 24 4
gpt4 key购买 nike

MooTools 有自己的instanceOf(instance, Type) 函数。
我只能假设它做了一些与 Javascript 的原生 instanceof 运算符不同的事情,但我似乎无法弄清楚是什么。

谁能解释一下 instanceOf() 函数的区别或用途?

最佳答案

instanceOftypeOf 的补充,typeOf 是内部 MooTools 函数,在类型遍历方面比它们的原生函数做得更好。

typeOf 在这方面稍微有用一些:

typeof []; // object
typeOf([]); // array
typeof new Date(); // object
typeOf(new Date()); // date

instanceOf 主要用于类,但它也适用于类型构造函数。

例如。

var foo = new Class(),
bar = new Class({
Extends: foo
});

var foobar = new bar();

instanceOf(foobar, bar); // true
// but also due to Extends prototype chain and the constructor:
instanceOf(foobar, foo); // true

// as well as standard behaviour like
instanceOf([], Array); // true
instanceOf(4, Number); // true vs 4 instanceof Number == false

查看来源: https://github.com/mootools/mootools-core/blob/master/Source/Core/Core.js#L47-58

您可能会注意到 mootools 中的许多类型的构造函数装饰对象以简化鸭子输入,因此 typeOf 和 instanceOf 工作具有实际有意义的结果。

另请阅读 mootools Type function

关于javascript - Javascript 的原生 `instanceof` 运算符和 MooTools 的 `instanceOf` 函数有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12537542/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com