为什么这会传递给匿名函数:“undefined”!= typeof global? global:“undefined”!= typeof window && window

问题描述 投票:0回答:1
!function(){
   function body
}("undefined" != typeof global ? global : "undefined" != typeof window && window)

参数在浏览器中评估为“窗口”。有两件事我不明白:1)什么时候会定义“全球”?何时“全球”和“窗口”都是“未定义”? 2)将“window”或“global”或Boolean false传递给没有参数的匿名函数的目的是什么?

javascript window undefined global
1个回答
2
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.