標籤: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》讀書筆記(上)