jQuery源代码的第一行代码(bit.ly/jqsource)是:
(function( window, undefined ) {
// Use the correct document accordingly with window argument (sandbox)
var document = window.document,
我认为我理解代码的作用,但不是为什么它会这样做。什么是“沙盒”?
答案 0 :(得分:4)
它有助于防止人们覆盖主window.document
或document
。
这样的事情:
document = 27;
如果jQuery调用了document.getElementById
,它就会失败。
至于undefined
,它是“hack”以获得undefined
的实际值,因为人们可以这样做:
undefined = 'haha';
那么这样的条件就会失败。
if (myObj == undefined) {
alert("don't use myObj");
}