绕过Modernizr源代码,我发现了一件奇怪的事情:
window.Modernizr = (function(window,document,undefined) {
之后,将使用两个参数(this, this.document
)调用此函数。
为什么undefined
在这里使用?它有意义还是只是奇怪的代码风格?
答案 0 :(得分:23)
如果有人在范围链中的某处重新定义undefined
,则创建本地undefined
。
还提供了更快的查找,因为undefined
是一个全局属性,因此范围链遍历减少了。