成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Js規(guī)范

voyagelab / 3262人閱讀

摘要:嚴(yán)格模式嚴(yán)格模式可在整個腳本或獨個方法內(nèi)被激活,它對應(yīng)不同的語境會做更加嚴(yán)格的錯誤檢查,嚴(yán)格模式頁確保了代碼更加的健壯,運行的也更加快速。嚴(yán)格模式會阻止使用在未來很可能被引入的預(yù)留關(guān)鍵字。

嚴(yán)格模式

ECMAScript5 嚴(yán)格模式可在整個腳本或獨個方法內(nèi)被激活,它對應(yīng)不同的 javascript 語境會做更加嚴(yán)格的錯誤檢查,嚴(yán)格模式頁確保了 javascript 代碼更加的健壯,運行的也更加快速。

嚴(yán)格模式會阻止使用在未來很可能被引入的預(yù)留關(guān)鍵字。

你應(yīng)該在你的腳本中也用嚴(yán)格模式,最好在獨立的IIFE 中應(yīng)用它,避免在你的腳本第一行使用它而導(dǎo)致你的左右腳本都啟動了嚴(yán)格模式,這有可能會引發(fā)一些第三方類庫的問題。

變量聲明

總是使用var 來聲明變量,如不指定 var ,變量將被隱式的聲明為全局變量,例如:

var a=b=0;//b會唄隱式的創(chuàng)建為全局變量,所以,請總是使用 var 來聲明變量,并且使用單 var 模式(將所有的變量在函數(shù)最前面只使用一個 var 定義)。例如:
(function(){
    "use strict"
    var a=0,
    b=0,
    c=0,
    i,
    j,
    myObject();
}())

采用嚴(yán)格模式帶來的好處是,當(dāng)你手誤輸入錯誤的變量時,它可以通過報錯信息來幫助你定位錯誤的出處。

判斷真假

js中以下內(nèi)容為假:
false
null
undefined
0
""
NaN

設(shè)置默認(rèn)參數(shù)

輯操作符||和&&也可以被用來返回布爾值,如果操作對象為非布爾值,那每個表達(dá)式將會被自左向右的做真假判斷,基于此操作,最終用有一個表達(dá)式被返回回來,這在變量賦值時,是可以用來簡化你的代碼的,例如:

如果 x 不存在且 y 不存在,x=1

if(!x){
    if(!y){
        x=1;
    }else{
        x=y;
    }
}
等同于:
x=x||y||1;

這一小技巧經(jīng)常用來給方法設(shè)定默認(rèn)的參數(shù),

(function (log){
    "use strict";
    function multiply(a,b){
    a=a||1;
    b=b||1;
    log("Result"+a*b);    
    }
    multiply();//Result 1
    multiply(10);//Result 10
    multiply(3,NaN);//Result 3
    multiply(9,5);//Result 45
}(window.console.log));
修改內(nèi)鍵對象的原型鏈

修改內(nèi)建的諸如 Object.prototype 和Array,prototype 是被嚴(yán)厲禁止的,修改其他的內(nèi)建對象比如 Function.proptype,雖危害沒那么大,但始終還是會導(dǎo)致在開發(fā)過程中難以debug的問題,應(yīng)當(dāng)也要避免。

三元條件判斷(if的快捷語法)

用三元操作符分配或者返回語句,在比較簡單的情況下使用,避免在復(fù)雜的情況下使用,沒人愿意用10行三元操作把自己的腦子繞暈,

if(x===10){
    return "valid";
}else{
    return "invalid";
}

return x===10?"valid":"invalid"
JSHint

在js規(guī)范中,有很多規(guī)范都是樣式上的規(guī)范而不是在邏輯上的規(guī)范,比如盡量的使用===而不是==,我們可以使用JSHint 或者JSLint ,Javascript 代碼驗證工具,這種工具可以檢查你的代碼并提供相關(guān)的代碼改進(jìn)意見。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/107831.html

相關(guān)文章

  • JS常見模塊化規(guī)范(CommonJS/AMD/CMD/UMD/ES6 Module)

    摘要:常見模塊化方案是由社區(qū)提出的模塊化方案中的一種,遵循了這套方案。是模塊化規(guī)范中的一種,遵循了這套規(guī)范。中的模塊化能力由兩個命令構(gòu)成和,命令用于規(guī)定模塊的對外接口,命令用于輸入其他模塊提供的功能。 為什么需要模塊化 在ES6出現(xiàn)之前,JS語言本身并沒有提供模塊化能力,這為開發(fā)帶來了一些問題,其中最重要的兩個問題應(yīng)當(dāng)是全局污染和依賴管理混亂。 // file a.js var name =...

    walterrwu 評論0 收藏0
  • 切圖崽的自我修養(yǎng)-使用模塊化JS

    摘要:之前的閉包也好,自執(zhí)行函數(shù)也好,都是模塊化的一些嘗試,直到規(guī)范推出之后,模塊化才真正迅猛發(fā)展起來。因為有了模塊化的概念,才有了按需加載的概念。 前言 我們來玩樂高積木吧 模塊化Js已經(jīng)成為了老生常談,不過在JavaScript設(shè)計之初,由于定位的問題并沒有提供類的功能,開發(fā)者需要模擬出類似的功能,來隔離、組織復(fù)雜的JavaScript代碼。之前的閉包也好,自執(zhí)行函數(shù)也好,都是模塊化的一...

    littleGrow 評論0 收藏0
  • 切圖崽的自我修養(yǎng)-使用模塊化JS

    摘要:之前的閉包也好,自執(zhí)行函數(shù)也好,都是模塊化的一些嘗試,直到規(guī)范推出之后,模塊化才真正迅猛發(fā)展起來。因為有了模塊化的概念,才有了按需加載的概念。 前言 我們來玩樂高積木吧 模塊化Js已經(jīng)成為了老生常談,不過在JavaScript設(shè)計之初,由于定位的問題并沒有提供類的功能,開發(fā)者需要模擬出類似的功能,來隔離、組織復(fù)雜的JavaScript代碼。之前的閉包也好,自執(zhí)行函數(shù)也好,都是模塊化的一...

    justjavac 評論0 收藏0
  • 關(guān)于JavaScript模塊規(guī)范之CommonJSAMDCMD

    摘要:所有依賴這個模塊的語句,都定義在一個回調(diào)函數(shù)中,等到加載完成之后,這個回調(diào)函數(shù)才會運行。也采用語句加載模塊,但是不同于,它要求兩個參數(shù)第一個參數(shù),是一個數(shù)組,里面的成員就是要加載的模塊第二個參數(shù),則是加載成功之后的回調(diào)函數(shù)。 本篇文章來自對文章《js模塊化編程之徹底弄懂CommonJS和AMD/CMD!》的總結(jié),大部分摘自文章原話,本人只是為了學(xué)習(xí)方便做的筆記,之后有新的體會會及時補(bǔ)充...

    binaryTree 評論0 收藏0
  • 簡單理解CommonJS規(guī)范

    摘要:事實上已經(jīng)出現(xiàn)了模塊規(guī)范,如果使用的模塊規(guī)范是無需環(huán)境的。因此,需要將規(guī)范和的模塊規(guī)范區(qū)分開來。三模塊規(guī)范的好處模塊規(guī)范很好地解決變量污染問題,每個模塊具有獨立空間,互不干擾,命名空間等方案與之相比相形見絀。 寫在前面:  一個文件就是一個模塊。   另外本文中的示例代碼需要在node.js環(huán)境中方可正常運行,否則將出現(xiàn)錯誤。事實上ES6已經(jīng)出現(xiàn)了模塊規(guī)范,如果使用ES6的模塊規(guī)范是無...

    王笑朝 評論0 收藏0
  • 從 1 到完美,寫一個 js 庫、node 庫、前端組件庫

    摘要:從到完美,寫一個庫庫前端組件庫之前講了很多關(guān)于項目工程化前端架構(gòu)前端構(gòu)建等方面的技術(shù),這次說說怎么寫一個完美的第三方庫。使用導(dǎo)出模塊,就可以在使用這個庫的項目中構(gòu)建時使用功能。 從 1 到完美,寫一個 js 庫、node 庫、前端組件庫 之前講了很多關(guān)于項目工程化、前端架構(gòu)、前端構(gòu)建等方面的技術(shù),這次說說怎么寫一個完美的第三方庫。 1. 選擇合適的規(guī)范來寫代碼 js 模塊化的發(fā)展大致有...

    rollback 評論0 收藏0

發(fā)表評論

0條評論

voyagelab

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<