《JavaScript DOM程式設計藝術》知識整理

GeekWay發表於2014-03-19

《JavaScript DOM程式設計藝術》知識整理


好書的好處在於常讀常新

  • W3C推出的標準化DOM可以讓任何一種程式設計語言對使用任何一種標記語言編寫出來的任何一份檔案進行操控。

  • W3C對DOM的定義是:“一個與系統平臺和程式設計無關的介面,程式和指令碼可以通過這一介面動態地對文件的內容、結構和樣式進行訪問和修改。”

  • 現代的瀏覽器都至少實現了W3C相關標準中95%的規範,而這意味著在編寫JavaScript程式碼時幾乎不需要考慮他們將執行在何種瀏覽器環境下。

  • DHMTL時HTML/XHMTL、CSS和JavaScript相結合的產物,但把這些東西真正凝聚在一起的是DOM。

  • 語句之間可以不加分號;

  1. var i = 0
  2. var a = "string"

但不推薦。 
- 可以使用<!--的形式進行註釋,不需要-->,它只能單行註釋,為了不和HMTL註釋混淆,建議不要在JavaScript指令碼中使用HMTL風格的註釋。

  1. <!-- This is a comment in JavaScript.
  • JavaScript變數名允許包含字母、數字、下劃線和美元符號$

  • 字串放在單引號''和雙引號""的作用相同。

  1. var mood = 'happy';
  2. var mood = "happy";
  • 可以將任何一種型別的資料放進一個陣列,例如:
  1. var computer = Array("lenovo", 5900, true);

-陣列甚至可以包含其他的陣列,陣列中的任何一個元素都可以把一個陣列作為它的值。

  1. var computer = Array("lenovo", 5900, true);
  2. var computers = Array();
  3. computers[0] = computer;
  • 我們可以通過在填充陣列時為每個新元素明確的給出下標的方式來改變這種預設的行為。在為新元素給出下標時,不必侷限與整數數字,陣列下標可以時字串。
  1. var computer = Arrary();
  2. computer["name"] = "lenovo";
  3. computer["price"] = 5900;
  4. computer["China"] = true;
  • 在變數命名時,使用下劃線來分割各個單詞;在函式命名時,使用駝峰命名法(Camel,第二個單詞以後首字母大寫)
  1. function newFun(){
  2. var new_word ;
  3. }
  • 比較全域性變數和區域性變數的使用 
    分析下面的輸出
  1. function square(num){
  2. total = num * num;
  3. return total;
  4. }
  5. var total = 50;
  6. var number = square(20);
  7. alert(total);

輸出:400 
原因:函式內的total沒有使用var宣告,則預設使用全域性變數。 
分析下面的程式碼:

  1. function square(num){
  2. var total = num * num;
  3. return total;
  4. }
  5. var total = 50;
  6. var number = square(20);
  7. alert(total);

輸出50 
函式內使用了var進行區域性宣告,則與外部的全域性變數沒有聯絡,所以全域性變數total沒有改變。

  • 實現點選連結不跳轉的效果
  1. <a href="www.baidu.com" onclick="return false;">百度</a>

onclick事件處理函式的值是false,onclick事件處理函式將認為“這個連結沒有點選”

  • 有childNodes屬性飯胡的陣列包含著所有型別的節點,除了所有的元素節點,所有的屬性節點和文字節點也包含在其中。事實上,文件裡幾乎每一樣東西都是一個節點——甚至連空格和換行符都會解釋為節點,而它們也全部包含在childNodes屬性所返回的陣列當中。

  • 節點屬性的數字對應

    元素節點的nodeType屬性值是1
    屬性節點的nodeType屬性值是2
    文字節點的nodeType屬性值是3
    

相關文章