javascript - 为什么将其传递给匿名函数 : "undefined" ! = typeof global ?全局 : "undefined" ! = 窗口类型 && 窗口

标签 javascript window undefined global

!function(){
   function body
}("undefined" != typeof global ? global : "undefined" != typeof window && window)

该参数在我的浏览器中计算为“window”。有两件事我不明白: 1)什么时候定义“全局”?什么时候“全局”和“窗口”都变成“未定义”? 2)将“window”或“global”或 bool 值 false 传递给没有参数的匿名函数的目的是什么?

最佳答案

在浏览器中,有一个名为 window 的内在对象,而在 Node.js 等其他环境中,有一个名为 global 的对象。此代码计算结果为全局或窗口,具体取决于定义了哪一个,如果没有定义,则计算为 false。至于将参数传递给不带参数的函数是没有意义的,除非对象 arguments内部使用。

关于javascript - 为什么将其传递给匿名函数 : "undefined" ! = typeof global ?全局 : "undefined" ! = 窗口类型 && 窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48038301/

相关文章:

javascript - 在 JavaScript 中,typeof x == 'y' 和 typeof x === 'y' 之间有什么区别吗?

javascript - 提交具有一些未定义值的对象时,如何使Firebase忽略?

javascript - Lightning 输入字段的值未定义,即使它有值

javascript - Async/await vs then 哪个性能最好?

javascript - AngularJS,未定义 $window,怎么办?

html - 无法消除内容下的背景色

c++ - SFML 仅适用于 Debug模式

javascript - 只有在父组件的异步方法完成后才渲染子组件

javascript - 无法让 Firebase 数据在简单的 Vue 应用程序上显示

javascript - React Native 上子组件的 SetState 失败