Effective javascript 筆記(一)

來源:互聯網
上載者:User

標籤:

第一條

use strict 必須在檔案的頂端或者函數的開始使用才有效果,所以,要使用立即調用的函數運算式。這個也是很多地方推薦的方法。

 

第二條

javascript的浮點數可以表示53位的整數,所以足夠一般使用,這一點在php上也是類似的。可以解決32位系統上的不帶正負號的整數問題。

但是浮點數的運算精度是有問題的,所以在做浮點運算的時候,推薦轉換成整數再計算。

 

第三條

判斷NaN時,因為存在類型轉換,isNaN也是不可靠的。可以利用NaN不等於自身的特點判斷。

從函數參數接收傳入值時,為了判斷預設值,可以採用if(x)的方式。不過如果0是合法的,就需要採用typeof x === undefined 或者 x=== undefined來判斷了。

 

第四條

封裝類型存在==不能判斷兩者相等的問題,因為都是object。

 

第六條

分號一般在( [ + - /五種符號之前,必須插入,避免二意性。不過這個只是看別人代碼的時候知道即可,不推薦自己也這麼寫。

 

第七條

這裡涉及到unicode的編碼原理。unicode一般採用的是雙位元組,但是不夠,所以有16個輔助平面,總共是20位的長度,但是javascript已經採用了16位的字元表示方法。所以在輔助平面的字元,需要用兩個字元位置來表示。這個會影響length和charAt,如果涉及這些字元,需要採用一些庫。某些函數可以支援輔助平面的字元,如url編解碼函數。

Effective javascript 筆記(一)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.