为什么这会传递给匿名函数:“undefined”!= typeof global? global:“undefined”!= typeof window && window
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么这会传递给匿名函数:“undefined”!= typeof global? global:“undefined”!= typeof window && window相关的知识,希望对你有一定的参考价值。
!function(){
function body
}("undefined" != typeof global ? global : "undefined" != typeof window && window)
参数在浏览器中评估为“窗口”。有两件事我不明白:1)什么时候会定义“全球”?何时“全球”和“窗口”都是“未定义”? 2)将“window”或“global”或Boolean false传递给没有参数的匿名函数的目的是什么?
答案
在浏览器中有一个名为window的内部对象,而在Node.js等其他环境中则有一个名为global的对象。此代码根据定义的值来评估全局或窗口,如果没有,则评估为false。至于将参数传递给不带参数的函数是没有意义的,除非在内部使用对象arguments
。
以上是关于为什么这会传递给匿名函数:“undefined”!= typeof global? global:“undefined”!= typeof window && window的主要内容,如果未能解决你的问题,请参考以下文章