最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Javascript 編碼約定(編碼規(guī)范)

 更新時(shí)間:2018年03月11日 00:49:53   投稿:mdxy-dxy  
這篇文章主要介紹了Javascript 編碼約定(編碼規(guī)范),需要的朋友可以參考下

1、使用 strict 模式

在一個(gè)作用域(包括函數(shù)作用域、全局作用域)中,可以使用

"use strict";

來開啟 strict 模式。

2、縮進(jìn)

用 Tab 鍵進(jìn)行代碼縮進(jìn),以節(jié)約代碼大小,使用4個(gè)空格的寬度來進(jìn)行縮進(jìn)(JSLint 建議)。

3、符號(hào)

1) 大括號(hào)

與語句放同一行,放于最后面;僅有一行語句,也使用大括號(hào):

if (true) {
  //true
} else {
  //false
}
while (true) {
  //alert(1);
}

2) 空格

在逗號(hào)、分號(hào)、冒號(hào)后加空格
在操作符前后加空格
在大括號(hào)開始符之前
在大括號(hào)結(jié)束符和 else、while 或 catch 之間
在 for 的各個(gè)部分
如:

var a = [1, 2, 3];
var obj = {
  name: 'name',
  value: 'value'
};
for (var i = 0; i < 10; i++) {}
function func(a, b, c) {}

c = a + b;
if (a && b || c) {
  //if
} else {
  //else
}

try {
  //try
} catch(err) {
  //catch
}

3) 所有語句結(jié)束后,使用 ; 號(hào)結(jié)束

4、命名

對(duì)象:使用駝峰式,如:MyClass
方法、變量:使用混合式,如:getName(), myName
常量:大寫加下劃線,如:MY_NAME

5、單一 var 模式

只使用一個(gè) var 在函數(shù)頂部進(jìn)行變量聲明,作用如下:

1) 提供一個(gè)單一的地址已查找到函數(shù)需要的所有局部變量
2) 防止出現(xiàn)變量在定義前就被使用的邏輯錯(cuò)誤
3) 幫助牢記要聲明變量,盡可能少地使用全局變量
4) 更少的編碼

function func() {
  var a = 1,
    b = 2, 
    sum = a + b,
    obj = {
      name: 'name',
      value: 'value'
    },
  $btn = $('#btn');
  //函數(shù)體
}

6、循環(huán)

1) for 循環(huán)

var i, arr = [];
for (i = arr.length; i--;) {
  //arr[i];
}

注:

for (var i = 0; i < document.getElementsByName().length; i++) {
  //document.getElementsByName()[0];
}

這種方式每次對(duì) i 進(jìn)行長度比較的使用對(duì)會(huì)進(jìn)行 document 的查詢,而通常 DOM 操作是非常耗時(shí)的。

2) while 循環(huán)

var arr = [], 
  i = arr.length;
while (i--) {
  //處理
}

3) for-in 循環(huán)

var i,
  hasOwn = Object.prototype.hasOwnProperty;
for (i in man) {
  if (hasOwn.call(man, i)) { //過濾
    console.log(i, ':', man[i]);
  }
}

7、switch 選擇

switch (num) {
case 0:
  //do something
  break;
case 1:
  //do something
  break;
...
default:
  //do default
}

建議使用:

var obj = {
  '0': function() {
    //do somethins
  },
  '1': function() {
    // do somethis
  }, ...
}
if (obj.hasOwnProperty(num)) {
  obj[num]();
} else {
  //do default
}

8、使用 parseInt() 的數(shù)值約定

1) 每次都具體指定進(jìn)制參數(shù):

var month = '09', day = '08';
month = parseInt(month, 10); //不加進(jìn)制參數(shù)便會(huì)轉(zhuǎn)換為八進(jìn)制
day = parseInt(day, 10);

2) 其他常用的將字符串轉(zhuǎn)換為數(shù)值的方法:

+'08';
Number('08');

9、字面量模式

不建議使用構(gòu)造函數(shù)來定義:

// built in constructors (avoid)
var o = new Object();
var a = new Array();
var re = new RegExp('[a-z]', 'g');
var s = new String();
var n = new Number();
var b = new Boolean();
throw new Error('message');

建議使用更優(yōu)的字面量模式:

// literals and primitives (prefer)
var o = {};
var a = [];
var re = /[a-z]/g;
var s = '';
var n = 0;
var b = false;
throw {
  name: 'Error',
  message: 'message'
}

10、其他

1) 變量內(nèi)的簡寫單詞如果在開頭則全小寫:xmlDocument,如果不在開頭則全大寫:loadXML
2) 變量必須是有意義的英文,禁止拼音

相關(guān)文章

  • 關(guān)于cookie的初識(shí)和運(yùn)用(js和jq)

    關(guān)于cookie的初識(shí)和運(yùn)用(js和jq)

    下面小編就為大家?guī)硪黄P(guān)于cookie的初識(shí)和運(yùn)用(js和jq)。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧,祝大家游戲愉快哦
    2016-04-04
  • 現(xiàn)代 JavaScript 參考

    現(xiàn)代 JavaScript 參考

    一份現(xiàn)代 JavaScript 參考,你在現(xiàn)代項(xiàng)目中會(huì)經(jīng)常遇到,以及最新的代碼示例,需要的朋友可以參考下
    2017-10-10
  • javascript設(shè)計(jì)模式之代理模式

    javascript設(shè)計(jì)模式之代理模式

    這篇文章主要為大家介紹了javascript代理模式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • Javascript中的幾種繼承方式對(duì)比分析

    Javascript中的幾種繼承方式對(duì)比分析

    下面小編就為大家?guī)硪黄狫avascript中的幾種繼承方式對(duì)比分析。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,希望能給大家一個(gè)參考。一起跟隨小編過來看看吧
    2016-03-03
  • 深入理解JavaScript系列(19):求值策略(Evaluation strategy)詳解

    深入理解JavaScript系列(19):求值策略(Evaluation strategy)詳解

    這篇文章主要介紹了深入理解JavaScript系列(19):求值策略(Evaluation strategy)詳解,本文講解了一般理論、按值傳遞、按引用傳遞、按共享傳遞(Call by sharing)、按共享傳遞是按值傳遞的特例等內(nèi)容,需要的朋友可以參考下
    2015-03-03
  • Javascript基礎(chǔ)教程之?dāng)?shù)據(jù)類型 (字符串 String)

    Javascript基礎(chǔ)教程之?dāng)?shù)據(jù)類型 (字符串 String)

    javascript一共有9種數(shù)據(jù)類型,分別是字符串 String、數(shù)值型 Number、布爾型 Boolean、未定義 Undefine、空值 Null、對(duì)象 Object、引用Refernce、列表型 List、完成型 Completion,我們今天首先來看看(字符串 String)
    2015-01-01
  • 簡介JavaScript中的push()方法的使用

    簡介JavaScript中的push()方法的使用

    這篇文章主要介紹了簡介JavaScript中的push()方法的使用,是JS入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-06-06
  • javascript計(jì)時(shí)器事件使用詳解

    javascript計(jì)時(shí)器事件使用詳解

    通過使用JavaScript,能在一個(gè)設(shè)定的時(shí)間間隔之后來執(zhí)行代碼,而不是在函數(shù)被調(diào)用后立即執(zhí)行。我們稱之為計(jì)時(shí)事件,下面對(duì)javascript計(jì)時(shí)器事件做了詳細(xì)解釋
    2014-01-01
  • JavaScript的Function詳細(xì)

    JavaScript的Function詳細(xì)

    JavaScript的Function詳細(xì)...
    2006-11-11
  • 初學(xué)JavaScript第一章

    初學(xué)JavaScript第一章

    下面為自己初學(xué)JavaScript時(shí)覺得應(yīng)該注意的地方(從<<JavaScript動(dòng)態(tài)網(wǎng)頁開發(fā)詳解>>中學(xué)到)
    2008-09-09

最新評(píng)論

泾阳县| 开平市| 乐平市| 宿迁市| 富民县| 松原市| 西乌珠穆沁旗| 蓬安县| 丹凤县| 邢台市| 靖安县| 东至县| 乌兰察布市| 株洲县| 开平市| 南康市| 新巴尔虎右旗| 米易县| 延津县| 安宁市| 巢湖市| 南开区| 博白县| 江油市| 新兴县| 资阳市| 安仁县| 毕节市| 阿拉善盟| 神木县| 九龙县| 汾西县| 郧西县| 望江县| 宁陕县| 永和县| 武义县| 城口县| 嘉峪关市| 阳朔县| 南木林县|