返回信息流第161页,原话如此(重新排版一下):
[] instanceof Array //=>true
({}) instance of Array //=>false
使用instanceof的问题是在Web浏览器中有可能有多个窗口或窗体(frame)存在。
每个窗口都有自己的javascript环节,有自己的全局对象。
并且,每个全局对象有自己的一组构造函数。
因此一个窗体中的对象将不可能是另外窗体中的构造函数的实例。
窗体之间的混淆不常发生,但这个问题足以证明instanceof操作符不能视为一个可靠的数组检测方式。
到底没看出来这个是怎么推导出来的结论。。
窗体混淆后发生了什么。。?怎么推出instanceof不可靠的。。?
求大神指点迷津
这是一条镜像帖。来源:北邮人论坛 / www-technology / #25623同步于 2014/5/14
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖
【Javascript权威指南】读到这里有困惑,关于instanceof
liuqiji
2014/5/14镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
不懂。
果然是权威指南,好细节。
刚学 js 没必要深究这种东西。
网上有很好的解释,比如说,https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/instanceof
ls 给力
Object instancof Constructor 是用来判断 Constructo.prototype 属性是否在Object的原型链上的。所以问题的关键并不是 窗体 什么的。只不过在不同的全局环境中创建的对象其原型链上并没有指向另一个全局环境中的Constructor的指针。
good referrence...
ma dan, da bu chu lai han zi le...
fuck win8
【 在 funfriend 的大作中提到: 】
: 不懂。
: 果然是权威指南,好细节。
: 刚学 js 没必要深究这种东西。
: ...................