JS的合稱是JavaScript,它是一種直譯式腳本語言,同時(shí)也是一種動(dòng)態(tài)類型、弱類型、基于原型的語言,內(nèi)置支持類型。JS在瀏覽器中有自己的解釋器,被稱為JavaScript引擎,它屬于瀏覽器的一部分。JS在實(shí)用應(yīng)用中被廣泛的用于客戶端的腳本語言,最早的是在HTML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個(gè)應(yīng)用)網(wǎng)頁上使用,用來給HTML網(wǎng)頁增加動(dòng)態(tài)功能。
JS的基本特有有哪些?
1、是一種解釋性腳本語言(代碼不進(jìn)行預(yù)編譯)。
2、主要用來向HTML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個(gè)應(yīng)用)頁面添加交互行為。
3、可以直接嵌入HTML頁面,但寫成單獨(dú)的js文件有利于結(jié)構(gòu)和行為的分離。
4、跨平臺(tái)特性,在絕大多數(shù)瀏覽器的支持下,可以在多種平臺(tái)下運(yùn)行(如Windows、Linux、Mac、Android、iOS等)。
雖然現(xiàn)在的技術(shù)還是很弱,但是對(duì)于如何優(yōu)化JavaScript還是有一定的技巧可循的,下面
創(chuàng)新互聯(lián)就與大家分享一些
網(wǎng)站建設(shè)之優(yōu)化JS的技巧。
循環(huán)在JS中是很常用的一個(gè)控制結(jié)構(gòu),大部分東西要依靠它來完成,在JavaScript中,我們可以使用for(;;),while(),for(in) 三種循環(huán)。但事實(shí)上,這三種循環(huán)中for(in)的效率極差,因?yàn)樗枰樵兩⒘墟I,如果可以
創(chuàng)新互聯(lián)建議大家盡量少用。
for(;;)和while循環(huán)的性能應(yīng)該說基本(平時(shí)使用時(shí))等價(jià)。而事實(shí)上,如何使用這兩個(gè)循環(huán),則有很大講究。
網(wǎng)站建設(shè)之優(yōu)化JS的技巧1、如果是循環(huán)變量遞增或遞減,不要單獨(dú)對(duì)循環(huán)變量賦值,應(yīng)該在它最后一次讀取的時(shí)候使用嵌套的++或—操作符。
2、如果要與數(shù)組的長(zhǎng)度作比較,應(yīng)該事先把數(shù)組的length屬性放入一個(gè)局部變量中,減少查詢次數(shù)。
3、局部變量和全局變量局部變量的速度要比全局變量的訪問速度更快,因?yàn)槿肿兞科鋵?shí)是全局對(duì)象的成員,而局部變量是放在函數(shù)的棧當(dāng)中的。還有,局部變量屏蔽全局變量。
4、最好少使用Eval,使用eval相當(dāng)于在運(yùn)行時(shí)再次調(diào)用解釋引擎對(duì)內(nèi)容進(jìn)行運(yùn)行,需要消耗大量時(shí)間。所以建議不使用。
那在什么時(shí)候使用呢?
比如AJAX返回是JS代碼,當(dāng)我們想讓這段代碼執(zhí)行,那么此時(shí)就可以使用eval。
5、減少重復(fù)查找因?yàn)镴avaScript的解釋性,所以a.b.c.d.e,需要進(jìn)行至少4次查詢操作,先檢查a再檢查a中的b,再檢查b中的c,如此往下。所以如果這樣的表達(dá)式重復(fù)出現(xiàn),應(yīng)該盡量少出現(xiàn)這樣的表達(dá)式,可以利用局部變量,把它放入一個(gè)臨時(shí)的地方進(jìn)行查詢。
這一點(diǎn)可以和循環(huán)結(jié)合起來,因?yàn)槲覀兂3R鶕?jù)字符串、數(shù)組的長(zhǎng)度進(jìn)行循環(huán),而通常這個(gè)長(zhǎng)度是不變的,比如每次查詢a.length,就要額外進(jìn)行一個(gè)操作,而預(yù)先把var len=a.length,則就少了一次查詢......
文章標(biāo)題:網(wǎng)站建設(shè)之優(yōu)化JS的技巧
文章源于:http://jinyejixie.com/news14/151414.html
網(wǎng)站建設(shè)、網(wǎng)絡(luò)推廣公司-創(chuàng)新互聯(lián),是專注品牌與效果的網(wǎng)站制作,網(wǎng)絡(luò)營(yíng)銷seo公司;服務(wù)項(xiàng)目有網(wǎng)站建設(shè)等
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源:
創(chuàng)新互聯(lián)