javascript - 如何覆盖javascript中的窗口和未定义?

标签 javascript jquery function parameters

<分区>

我见过这样的例子

(function($, window, undefined) {
  ...
  // Do awesome stuff
  ...
})(jQuery, this);

我理解将 jQuery 作为参数传递并作为 $ 接收。

这样做是为了避免 jquery 的 $ 和任何全局变量 $(错误定义或由某些第三方库定义)之间的冲突。

为什么人们传递 this 并接收为 window 并且还在函数参数中接收 undefined

有什么方法可以覆盖 window 和 undefined 吗?

PS:我已经在 Chrome 中尝试过了

undefined = 2; // 2
undefined == 2; // false

证明undefined不能被覆盖。

最佳答案

试试这个

function test () {
    var undefined = 2; // 2
    console.log(undefined == 2); // true

    var window = 5; // 5
    console.log(window == 5); // true
}

我相信您可以在 function 中更改 undefinedwindow 的值,但不能在 global 中更改> 范围

关于javascript - 如何覆盖javascript中的窗口和未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22651416/

相关文章:

javascript - 在 JavaScript 中调用函数时正确指定参数值

c++ - 函数中指向 vector vector 的指针给出 'expression must have pointer type' 错误

JavaScript 未运行

jquery - 选择没有特定类的元素的最后一个子元素

javascript - 找到两个节点之间的所有可行路径

javascript - 动态创建按钮或将数据发送到按钮

javascript - div弹出窗口不起作用

php - php中的一个递增函数出错

javascript - 在 Reactstrap 中使整张卡片可点击

javascript onclick 函数不起作用