JavaScript權威指南筆記 - 2

1. var a = b = 123; 等價於var a = 123; b = 123;
注意在這行代碼中產生了全局變量b(之前未聲明b的情況下)

2. for(var i = 0; i < jsArray.length; i ++){}
在這個循環中,每次循環都會訪問jsArray對象的length屬性,所以降低了代碼的效率,尤其是在jsArray還是dom對象的時候,提前把length保存到一個變量中。

3. for...in...循環中,遍歷的順序不能保證!而且只能遍歷可序列話的變量。

4. hasOwnProperty(p)用來判斷p是不是一個對象的私有屬性,而不是原型中的屬性。

5. parseInt(x, y):y是按按進制來轉換數字。

6. function x(){}//x.name -> "x"
    var x = function(){}//x.name -> ""
    var x = function y(){}//x.name -> "y"

7. lvalue:在JS中能出現在賦值號左側的值。

8. delete操作只能作用在lvalue上,如delete 1; 返回true但沒有任何操作發生。只刪除自由屬性,不會刪除繼承來的屬性。

9. for(var x in "abc"){console.log(x)}//該循環輸出1, 2, 3。

10. for(a[i++] in object)//把object的屬性複製到a數組。

11. break後面加statement label,用於跳出不是最近的循環或switch。

12. catch(e){},e的作用域只是在catch中。

13. try中有break,continue,return時,在跳出前會執行finally塊!

14. debugger可以在代碼中出發斷點。

15. 對象的鍵值可以是空:x[""] = 123;

16. {}構建對象時,末尾的,會忽略,IE除外,會報錯。

17. ES3中若對象的屬性名是保留字,只能用[]來取不能用.。

18. [, ,]末尾的,是忽略的,所以該數組長度是2。

19. a[-123] = 123;等價於a["-123"] = 123;
      a["100"] = 123;等價於a[100] = 123;
      a[1.00] = 123;等價於a[1] = 123;

20. JS數組沒有超出界限的錯誤。
發佈了88 篇原創文章 · 獲贊 9 · 訪問量 29萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章