国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Js規(guī)范

voyagelab / 3255人閱讀

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

嚴(yán)格模式

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

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

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

變量聲明

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

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

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

判斷真假

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

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

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

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

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

這一小技巧經(jīng)常用來(lái)給方法設(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)鍵對(duì)象的原型鏈

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

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

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

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

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

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

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/107831.html

相關(guān)文章

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

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

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

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

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

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

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

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

    binaryTree 評(píng)論0 收藏0
  • 簡(jiǎn)單理解CommonJS規(guī)范

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

    王笑朝 評(píng)論0 收藏0
  • 從 1 到完美,寫一個(gè) js 庫(kù)、node 庫(kù)、前端組件庫(kù)

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

    rollback 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

voyagelab

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<