亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

1、使用 strict 模式

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

"use strict";

來(lái)開啟 strict 模式。

2、縮進(jìn)

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

3、符號(hào)

1) 大括號(hào)

與語(yǔ)句放同一行,放于最后面;僅有一行語(yǔ)句,也使用大括號(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) 所有語(yǔ)句結(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)行長(zhǎng)度比較的使用對(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ù)來(lái)定義:

// 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) 變量?jī)?nèi)的簡(jiǎn)寫單詞如果在開頭則全小寫:xmlDocument,如果不在開頭則全大寫:loadXML
2) 變量必須是有意義的英文,禁止拼音

相關(guān)文章

  • js關(guān)閉子窗體刷新父窗體實(shí)現(xiàn)方法

    js關(guān)閉子窗體刷新父窗體實(shí)現(xiàn)方法

    本文將詳細(xì)介紹js關(guān)閉子窗體刷新父窗體實(shí)現(xiàn)方法,需要了解的朋友可以參考下
    2012-12-12
  • window.onload和$(function(){})的區(qū)別介紹

    window.onload和$(function(){})的區(qū)別介紹

    window.onload和$(function(){})有什么區(qū)別。window.onload表示頁(yè)面加載完了后(包括dom和js),再執(zhí)行函數(shù)里面的內(nèi)容,感興趣的朋友可以了解下
    2013-10-10
  • JavaScript中關(guān)于indexOf的使用方法與問題小結(jié)

    JavaScript中關(guān)于indexOf的使用方法與問題小結(jié)

    indexOf方法的作用是:根據(jù)給定參數(shù)x返回目標(biāo)字符串(可以看成字符的數(shù)組)或數(shù)組中與x相等的項(xiàng)的索引。
    2010-08-08
  • Javascript快速排序算法詳解

    Javascript快速排序算法詳解

    這篇文章主要介紹了Javascript快速排序算法的相關(guān)資料,需要的朋友可以參考下
    2014-12-12
  • Javascript學(xué)習(xí)筆記5 類和對(duì)象

    Javascript學(xué)習(xí)筆記5 類和對(duì)象

    首先,不得不說(shuō),我無(wú)法達(dá)到拋開類和對(duì)象的概念來(lái)看Javascript的境界,對(duì)于Javascript是否是面向?qū)ο蟮恼f(shuō)法有很多,不過我最認(rèn)同的還是Javascript是一種“基于prototype的面向?qū)ο笳Z(yǔ)言”。
    2010-01-01
  • JavaScript 基礎(chǔ)問答一

    JavaScript 基礎(chǔ)問答一

    今天在網(wǎng)上看到了一份很不錯(cuò)的JavaScript FAQ,由于擔(dān)心自己并不能一直把它讀完,所以就嘗試翻譯一些內(nèi)容,和朋友們一起分享。
    2008-12-12
  • javascript 打開頁(yè)面window.location和window.open的區(qū)別

    javascript 打開頁(yè)面window.location和window.open的區(qū)別

    有時(shí)候需要用js來(lái)實(shí)現(xiàn)頁(yè)面的打開,因?yàn)閖s下有window.location和window.open的不同實(shí)現(xiàn)方法,下面來(lái)簡(jiǎn)單的說(shuō)明下區(qū)別。
    2010-03-03
  • JavaScript中將數(shù)組進(jìn)行合并的基本方法講解

    JavaScript中將數(shù)組進(jìn)行合并的基本方法講解

    這篇文章主要介紹了JavaScript中將數(shù)組進(jìn)行合并的基本方法講解,包括快速合并多個(gè)數(shù)組的方法,需要的朋友可以參考下
    2016-03-03
  • JavaScript中的各種操作符使用總結(jié)

    JavaScript中的各種操作符使用總結(jié)

    這里我們說(shuō)的操作符包括算數(shù)運(yùn)算符和邏輯操作符等,包括布爾與賦值等,為大家進(jìn)行了JavaScript中的各種操作符使用總結(jié),需要的朋友可以參考下
    2016-05-05
  • 淺談JS閉包中的循環(huán)綁定處理程序

    淺談JS閉包中的循環(huán)綁定處理程序

    初學(xué)者經(jīng)常碰到的,即獲取HTML元素集合,循環(huán)給元素添加事件。在事件響應(yīng)函數(shù)中(event handler)獲取對(duì)應(yīng)的索引。但每次獲取的都是最后一次循環(huán)的索引。原因是初學(xué)者并未理解JavaScript的閉包特性。
    2014-11-11

最新評(píng)論