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

2018-02-24 15:41 更新

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

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

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

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

js-configuration-object-pattern

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

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)