javascript - 关于 jQuery 源代码的问题 == on window

标签 javascript jquery equals type-coercion

data: function( elem, name, data ) {
    if ( !jQuery.acceptData( elem ) ) {
        return;
    }
    elem = elem == window ? windowData : elem;

直接从 jQuery 源代码复制。

为什么使用 elem === window 不安全?

为什么 jQuery 在 window 对象上使用类型强制?

在 IE 中,top 似乎有问题

top == window // true
top === window // false

最佳答案

参见 here为什么用 === 再次检查窗口对象在 IE 中是不安全的。

我认为根本原因是 IE 与 Windows 操作系统紧密结合,因此您可以通过 window 引用各种操作系统对象,并且相等性检查就这样结束了。那而且它只是没有正确处理全局 host 对象。

关于javascript - 关于 jQuery 源代码的问题 == on window,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4847024/

相关文章:

javascript - Amp Javascript 将不合格的标签添加到页面

javascript - jQuery .not(), 多个带有 id 的排除

javascript - 需要将复杂的json obj转换为合适的angularjs ui树数据json结构

java - 使用 .equals() 比较两个字符串不起作用

java - 矩形面向对象开发——Equals()方法

javascript - 在 v8 中将函数模板添加到全局对象原型(prototype)

jquery - 为什么 .removeClass 不起作用?

javascript - jQuery 中的单引号或双引号

.net - 有没有办法使用 ReSharper 自动生成 GetHashCode 和 Equals?

javascript - 如何从 AJAX 调用 [Web 开发] 顺序加载图像?