javascript高級程序設計學習小結1
1. 一個完整的javascript實現由三部分組成:核心(ECMAScript)、文檔對象模型(DOM)以及瀏覽器對象模型(BOM),ECMAScript就是對標準規定的如語法、類型、語句、關鍵字、保留字、操作符以及對象的語言的描述。
文檔對象模型DOM
針對XML但經過擴展用於HTML的應用程序編程接口(API)。DOM把整個頁面映射為一個多層節點結構,給開發人員提供了控制頁面的主動權
瀏覽器對象模型BOM
提供了與瀏覽器交互的方法和接口
2.script腳本標簽的位置最好放在</body>前,用戶會因為瀏覽器窗口顯示空白頁的時間縮短而感到打開網頁的速度加快了,假設放在<head></head>中,對於要加載很多javascript代碼的頁面來說,瀏覽器在呈現頁面時會出現明顯的延時,而延遲期間頁面會顯示一片空白。
script標簽的defer屬性表示了腳本會被延遲到整個頁面被加載完成後在執行
script標簽的asyn屬性適用於外部腳本文件,標記為asyn屬性的腳本並不保證按照指定的先後順序執行。指定async屬性的目的是不讓頁面等待兩個腳本下載和執行,,從而異步加載頁面的其他內容。建議異步腳本不要在加載期間修改DOM。
3. 語法註意點
Number轉換的規則:如果是Boolean,true和false分別轉換為1和0;如果是數值,則直接傳入;如果是null,返回0;如果是undefined,返回NaN;
如果是字符串:
如果字符串只包含數字,則將其轉換為十進制數值,對於前置0,會被忽略,如"011"會變成11
如果字符串包含了有效的浮點格式,則會被轉換為相應的浮點數值(同樣會被忽略前置0)
如果字符串是包含有效16進制格式,如“0xf”,則將其轉換為同樣大小的十進制數
如果字符串是空的,則將其轉換為0
如果字符串包含以上格式以外的字符,則轉換為NaN
如果是對象:
先調用對象的valueOf方法,然後依照前面的規則轉換返回的值。如果轉換的結果是NaN,則調用對象的toString方法,然後依照前面的規則轉換返回的字符串值。
在處理整數時更常用的是parseInt函數,使用時建議明確指定所轉換的基數,如parseInt("10", 8);
toString通過傳遞基數,輸出二進制、、八進制以及十六進制等表示的字符創值。
Infinity * 0 = NaN
Infinity / Infinity = NaN
Infinity - Infinity = 0
==會對左右兩邊的操作數進行一定的強制轉換,再進行比較
javascript高級程序設計學習小結1