萬盛學電腦網

 萬盛學電腦網 >> 腳本專題 >> javascript >> 解析JavaScript中點號“.”的多義性

解析JavaScript中點號“.”的多義性

 這篇文章主要介紹了JavaScript中點號“.”的多義性。需要的朋友可以過來參考下,希望對大家有所幫助

點號「.」在JavaScript中有兩種語義   語義1、表示算術中的小數點(浮點數),如 2.5   語義2、取對象屬性、方法,如 [].push(2)   這幾乎沒有任何難理解的地方,但下面這個問題則很有趣。     代碼如下: // 這行代碼會如何執行  1.toString();    Firebug 中如下         這裡的點號表達的是上述的語義1,因此點號後面必須跟一個數字,這裡跟的是toString,報語法錯了。   解決方法很簡單,如加個小括號     代碼如下: (1).toString();    還可以這麼寫,但難理解些  代碼如下: 1..toString();   之所以浏覽器中都能運行,是因為各浏覽器JS引擎都把“1..toString()”理解成了 “1.0.toString()”。這裡第一個點號是語義1,第二個點號是語義2。   還有更奇怪的寫法,竟然也沒有報錯     復制代碼 代碼如下: 1 .toString(); // 注意點號前面有一個空格    顯然,這裡的點號是語義2,即JS引擎會忽略點運算符前邊的空格,其實無論前後的空格都會忽略。如下 代碼如下: 1 . toString(); // 點號前後都有一個空格  1  .  toString(); // 點號前後各有兩個空格  1    .toString(); // 點號前有一個tab  1    .    toString(); // 點號前後各有一個tab    JS引擎不但會忽略空格,也會忽略tab。
copyright © 萬盛學電腦網 all rights reserved