《編寫可維護的javascript》讀書筆記(上)

來源:互聯網
上載者:User

標籤:style   blog   io   color   ar   使用   java   sp   for   

最近在讀《編寫可維護的javascript》這本書,為了加深記憶,簡單做個筆記,同時也讓沒有讀過的同學有一個大概的瞭解。

一、編程風格

  程式是寫給人讀的,所以一個團隊的編程風格要保持一致。

  1、縮排:一種是利用定位字元縮排,一種是使用空格符縮排,各有利弊,任選一種,保持一致即可。個人比較喜歡定位字元縮排。

  2、語句結尾需要加上分號,避免沒必要的BUG。

  3、命名:首先要語義化,使用駝峰式命名法,小駝峰即首字母小寫,之後每個單字首大寫;大駝峰即首字母大寫,之後同小駝峰;變數名首碼應該是名詞(myName),函數名首碼應該是動詞(getName),常量全部使用大寫字母(MY_NAME),非常直觀,建構函式使用大駝峰命名法(DateFormat)。

  4、注釋:單行注釋用//,多行注釋用/**/,單行注釋//之後總有一個空格,下一行代碼縮排層級應與注釋保持一致。難以理解或是容易被認為是錯誤的代碼前應該加上注釋。

  5、花括弧對齊推薦這種:  

if(  ){}else{    }

  不推薦這種:

if(  ){}else{    }

  6、避免使用with語句。

  7、for in 語句是用來遍曆對象的屬性值的,遍曆數組請使用for迴圈

  8、在函數頂部定義變數,變數前一定要寫上var語句,定義多個變數可以用逗號隔開,如:

var name = "wangmeijian",    age = 23,    sex = "boy";

  同時,字串統一使用雙引號。

  9、判斷兩個值是否相等時,使用===或!==,不推薦使用==和!=,因為javascript具有強制類型轉換機制會造成意想不到的結果。

  10、javascript中,eval()不是唯一可以執行javascript字串的函數,使用Function建構函式也可以做到,setTimeout()和setInterval()也可以。例如:

var wmj=new Function( "alert(‘Hi‘)" )wmj()setTimeout( "document.body.style.background=‘red‘",100 );setInterval( "document.write(‘It is now"+ (new Date()) +"‘)",1000 ) //書上這個例子有錯誤,本文已更正

  這三種用法都比較少見。

  11、原始封裝類型:先看一段代碼

var name = "wangmeijian";console.log( name.toUpperCase() );

  一個字串是沒有方法的,但你仍然可以使用toUpperCase()之類方法,這是因為在這條語句背後javascript引擎建立了String類型的新執行個體,緊跟著就被銷毀了。String就是該字串的原始封裝類型。  

《編寫可維護的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.