最近在跟nuysoft 的 jQuery源碼分析系列 ,把不深刻的知識點本身作些摘要取出來,記錄下。javascript
1. 函數自調用括號有兩種寫法(仔細看括號的位置):html
(function() { console.info( this ); console.info( arguments ); }( window ) ); //(foo{}()); (function() { console.info( this ); console.info( arguments ); }) ( window )); //(foo{})();
2. undefined能夠被重寫,必要時須要顯式賦值.java
在在參數列表中增長undefined呢?chrome
在 自調用匿名函數 的做用域內,確保undefined是真的未定義。由於undefined可以被重寫,賦予新的值。函數
undefined = "defined"; console.log(undefined);測試結果: ie7/8/9: "defined"; 源碼分析
chrome 32,firefox26: "undefined"測試
3.this