JS基礎學習二

2022-02-23 01:08:25 字數 1522 閱讀 5197

(5)在相容xhtml的瀏覽器中使用[cdata[js**]]來解決xhtml對js中的「<」不能識別問題,而對於不相容xhtml的瀏覽器,可採用js的注釋將cdata標記注釋掉就行了,雖然有幾分hack的味道,但這樣做能通過xhtml驗證,而且也相容html。

(6)一般採用外部檔案包含的方式來使用js,因為這樣可維護性強,而且也無需使用上面提到的xhtml或注釋hack。html和xhtml包含外部檔案的語法是相同的。

(7)元素只有在瀏覽器不支援js或瀏覽器支援js但被禁用的情況下解析。

(8)變數在未被初始化時儲存了乙個特殊的值——undefined;如var test;那麼此時test就未被初始化,其值即為undefined。在函式中用var定義變數,當該變數出了該函式就無效了!

但如果在函式中直接定義變數,即變數前不加var那麼該變數就是全域性變數,可以在函式外的任何部分都能被訪問到。

(9)js中的五中基本(簡單)資料型別:undefined、bool、null、string、number;另外還有一種複雜的資料型別——object,js不支援自定義資料型別,所以,所有的值都是以上6種資料型別之一!

(10)檢測變數資料型別的操作符(注意不是函式)typeof()《其中的圓括號對也不是必須的》;它會返回以下字串:         undefined—值未定義;boolean—值為布林值;object—值為null或物件;number—值為數值;string—值為字串;function—值為函式

(11)null是第二個只有乙個值的資料型別,這個特殊值就是null,如定義的變數打算用來儲存物件,那麼該變數最好初始化為null值。如 var demo = null。null和undefined的區別:它們的值是相等的,即undefined==null總是返回true,另外沒有必要現實地宣告乙個變數為undefined,而對於有意向要儲存物件的變數還沒有真正滴儲存物件,就應該明確滴讓變數儲存null值,這樣進一步區分null和undefined。

(12)要將乙個值轉換成其對應的布林值,可使用轉型函式boolean()。js可以儲存八進位制和十六進製制的數,但在算術運算中會自動轉成十進位制進行運算。如 var num1 = 075;

var num2 = ox1f;等等。因浮點數需要的記憶體是整數的兩倍,所以ecmascript會不失時機地將浮點數轉為整數,如var floatnum1 = 1.;var floatnum2 = 10.0;對於這些ecmascript都會將它們解析為整數儲存;浮點數值的最高精度是17位小數,但它的精度遠遠不如整數那麼高!如0.1+0.2可能不會等於0.3。可以通過number.min_value和number.max_value獲得js中能表示的最小和最大的數值,如果超過它的範圍就會表示成infinity和-infinity,另外還可通過isfinite()函式來檢測數值是否在js所能表示數值範圍之內。

nan(not a number)用isnan()函式來檢測某個值是否為nan,nan不與任何值相等(包括它自己)。isnan也適用於物件,在基於物件呼叫nan時,首先會呼叫物件的valeof(),然後確定該方法返回的值是否可以轉換成數值;如不能再基於這個返回值呼叫tostring()方法,再測試返回值。

JS基礎學習篇(二)

1 新增乙個或多個元素 向陣列最後新增 arr.push ele1,ele2,向陣列最前面新增 arr.unshift ele1,ele2,這兩個方法都會返回新陣列的長度並改變原來的陣列。arr.splice insertpos,0,item1 item2 itemn 將乙個或多個新元素插入到陣列的...

JS基礎學習二 DOM

b 獲取節點 b document.getelementbyid nodeid document.getelementsbytagname nodetagname b 樹形操作 b firstchild lastchild childnodes parentnode nextsibling 同級的下...

js基礎語法學習(二)

js中getelementbyid getelementsbyname getelementsbytagname 的區別 1 getelementbyid 的方法返回擁有指定的id的乙個物件引用 body部分 var ele document.getelementbyid id1 console.l...