js相關語法基礎(1)

js語法與java類似,每個語句會以 ; 結尾,語句塊用{}

但是,js並不強制要求在每個語句末尾加上;瀏覽器中執行js的引擎會在每個語句的末尾自動補上;

var x = 1; js的註釋一行內可用// 多行可用/* ... */ 來進行註釋。

js中的判斷相等。

請注意 js把null.undefined 0 NaN和空字符串 ''視爲false,其他值一概視爲true.

第一種是 == 比較 它會自動轉換數據類型再進行比較。很多時候,會得到非常詭異的結果

第二種是 === 比較 它不會自動轉換數據類型,如果數據類型不一致,則會返回false,如果一致,再進行比較。

另一個例外是NaN這個特殊的Number,與其他值都不相同,包括自己。

NaN == NaN //false

唯一判斷NaN的方法便是通過jsNaN函數

isNaN(NaN) //true

浮點數進行比較。

1 / 3 == (1 - 2 / 3) //false

這不是JavaScript的設計缺陷。浮點數在運算過程中會產生誤差,因爲計算機無法精確表示無限循環小數。要比較兩個浮點數是否相等,只能計算它們之差的絕對值,看是否小於某個閾值:

Math.abs(1 / 3 - (1 - 2 / 3)) < 0.0000001; // true

null 和 undefined

null表示一個空的值,它和0 還有空字符串‘’ 不同,0代表一個數值,‘’表示一個長度爲0的字符串,而null表示空,即沒有分配空間。

但是,在JavaScript中,還有一個和null類似的undefined,它表示“未定義”。

js設計者希望用null表示一個空的值,而undefined表示值沒有定義。

大多數情況下,我們都應該用nullundefined僅僅在判斷函數參數是否傳遞的情況下有用。

數組:

[1, 2, 3.14, 'Hello', null, true];

變量在JavaScript中就是用一個變量名錶示,變量名是大小寫英文、數字、$_的組合,且不能用數字開頭。變量名也不能是JavaScript的關鍵字,如ifwhile等。申明一個變量用var語句,比如:

var a = 1;

同一個變量可以反覆賦值,而且可以是不同的變量。

var a = 123;

a = '123';

這種變量本身類型不固定的語言稱之爲動態語言,與之對應的是靜態語言,靜態語言在定義變量的時候必須指定其變量類型,而動態類型語言則不需要。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章