2. JS 應(yīng)該是靜態(tài)的

2018-02-24 15:41 更新

2. JS 應(yīng)該是靜態(tài)的

我看到過很多程序員喜歡動態(tài)的使用JavaScript。他們喜歡像使用服務(wù)器端語言如C#, Ruby, Java那樣來動態(tài)的使用JavaScript。千萬不要這么做。你失去了代碼著色、語法高亮顯示和智能感知的支持。記住,JavaScript 應(yīng)該屬于一個?.js?文件(見規(guī)則 #1)。

然而,使用JSON引入動態(tài)行為。我把這稱為JavaScript配置對象模式。具體方法如下:把JSON注入到你應(yīng)用程序的頭部,并根據(jù)業(yè)務(wù)邏輯的需要利用這些數(shù)據(jù)。你可能會想:“嘿,這違背了規(guī)則 #1”。我把 JSON 看作是數(shù)據(jù),而不是代碼,所以我破例,為了支持靜態(tài)的、單獨的JavaScript文件。

StackOverflow 使用的這種模式,Google 也是。你可以看下他們的代碼:

js-configuration-object-pattern

正如你看到的,StackOverflow 注入了一些個人的設(shè)置,如?isNoticesTabEnabled。這個簡單的JSON代碼片段為你使用靜態(tài)JavaScript文件自定義行為提供了必要的數(shù)據(jù)支持。為了實現(xiàn)這一點,需要序列號服務(wù)器端類為JSON,然后放置在?<head>?中。然后你可以在靜態(tài)的JavaScript文件中根據(jù)需要參考這個數(shù)據(jù)結(jié)構(gòu),能夠使用它,是因為它被注入到?<head>?中。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號