首先,看一個非常不優雅的例子:
看到這段代碼,雖然代碼很短,但是一眼看上去就不想再看了,也就是沒什么可讀性。這段代碼,沒有封裝,隨意定義一個變量都是全局變量,這樣在多人開發或者是大型開發中,極其容易造成所謂的臟讀。
那么,該怎樣把JS寫得優雅一些呢?下面總結了幾點供大家參考(如有錯誤,歡迎指正!):
①巧用閉包將函數變量變為局部變量,基本格式為:
;(function(){
...
})()
解釋一下,最前面的分號,主要是為了防止在與別人的代碼合並的時候出錯,例如以下情況:
var lucky=function(){
console.log("winty");
}
(function(){
....
})()
這種情況,寫lucky函數的時候沒有加上分號,這樣就導致了出錯。
②工具包和事件綁定分開
這個怎么理解呢?意思就是說,如果一個函數的功能屬於工具類,例如兩個數相加,這個函數很可能在多個地方都會用到,那么就把這個函數專門寫在一個regular.js文件里面,如果一個函數屬於事件處理類,例如點擊事件,很可能只是某個元素需要的效果而已,那么就寫在專門綁定事件處理的函數的文件當中。一個原則就是按類型和模塊來拆分函數,盡量使得每個函數的代碼量少而易讀。
例如這樣的regular.js:
調用:
更多例子:
總結了一些些JS函數的原則:
-
函數名字語義化,最好通過函數名就能夠知道函數的作用。
-
降低數據耦合,例如寫階乘函數的時候,需要不斷調用自身,這個時候用arguments.callee代替自身函數名。
-
復雜功能可拆分為幾個函數,盡量控制每個函數的代碼量。
歡迎關注我的個人微信訂閱號:前端生活