中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript中有哪些編程規范

發布時間:2021-07-01 15:21:20 來源:億速云 閱讀:223 作者:Leah 欄目:大數據

JavaScript中有哪些編程規范,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

背景

JavaScript是一種客戶端腳本語言,Web工程都會用到它,這份指南列出了編寫JavaScript時需要遵守的規則。

JavaScript語言規范

變量

聲明變量必須加上var
關鍵字:

var a1 = 1;var b1 = 11;

當你沒有寫var
,變量就會暴露在全局上下文中,這樣很可能會和現有的變量沖突。另外,如果沒有加上,很難明確該變量的作用域是什么,變量很可能在局部作用域中,很容易泄漏到Document或者Window中,所以務必用var
變量。

常量

常量的形式如:NAMES_LIKE_THIS,即使用大寫字符,并用下劃線分割,你也可用@const標記來指明它是一個常量,但請不要使用const關鍵字。
對于基本類型的常量,只需要轉換命名:

/**
 * The number of seconds of minute.
 * @type {number}
 */eflag.example.SECONDES_IN_A_MINUTE = 60;

對于非基本類型,使用@const
標記:

/**
 * The number of seconds in each of the given units.
 * @type {Object.<number>}
 * @const
 */eflag.example.SECONDS_TABLE = {minute: 60,hour: 60 * 60,day: 60 * 60 * 24}

至于關鍵字const,因為IE不能識別,所以不要使用。

分號

總是使用分號。 如果僅依靠語句間的隱式分割,有時會很麻煩,使用分號,你自己更能清楚那里是語句的起止。
行末分號:

var foo = 1,bar = 2,baz = 3;
var obj = {foo: 1,bar: 2,baz: 3};

單引號('')和雙引號("")

由于JavaScript對于單引號和雙引號都可以識別為字符串,但為了統一規范,所以在JavaScript中字符串的定義要求使用單引號:

var val = 'a';

同樣,html中屬性使用的是雙引號:

<input type="text">

在JavaScript中動態生成html標簽時:

var _input = '<input type="text">';

空格

參數和括號間五空格:

function fn(arg1, arg2){}

冒號后面有空格

{foo: 1,bar: 2,baz: 3}

條件語句有空格

if (true) {}while (true) {}switch(v){}

Tips and Tricks

True和False布爾表達式

下面的布爾表達式都會返回false

nullundefined''空字符串0

數字0 但小心下面的,可都返回true

'0'字符串0[]
空數組{}空對象

如果你想檢查字符串是否為null

if (y != null && y != '') {}

寫成這樣會更好:

if (y) {}

條件(三元)操作符(?:)

三元操作符用于替代下面的代碼:

if (val != 0) {
  return foo();
} else {  return bar();
}

你可以寫成:

return val ? foo() : bar();

在生成HTML代碼時也是很有用的:

var html = '<input type="checkbox"' + (isChecked ? ' checked' : '')+ (isEnabled ? '' : ' disabled')+ ' name="foo">';

&&||

二元布爾操作符是可短路的,只有在必要的時候才會計算到最后一項。 ||被稱作為default操作符,因為可以這樣:

/**
 * @param {*=} opt_win
 */function foo(opt_win) {  var win;  if (opt_win) {
    win = opt_win;
  } else {
    win = window;
  }// ...}

你可以使用它來簡化上面的代碼:

/**
 * @param {*=} opt_win
 */function foo(opt_win) {  var win = opt_win || window;  // ...}

使用join()來創建字符串

通常是這樣使用的:

function listHtml(items) {
  var html = '<div class="foo"';  for (var i = 0; i < items.length; i++) {
    if (i > 0) {
      html += ',';
    }
    html += itemHtml(items[i]);
  }
  html += '</div>';  return html;
}

但這樣在IE下非常慢,可以用下面的方式:

function listHtml(items) {
  var html = [];  for (var i = 0; i < items.length; i++) {
    html[i] = itemHtml(items[i]);
  }
  return '<div class="foo">' + html.join(', ') + '</div>';
}

你也可以使用數組作為字符串構造器,然后通過myArray.join('')
轉換成字符串,不過由于賦值操作快于數組的push(),所以盡量使用復制操作。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

镇赉县| 邛崃市| 河北省| 洛川县| 呼伦贝尔市| 丰台区| 铜川市| 教育| 宁南县| 抚顺市| 清涧县| 鄂州市| 桓仁| 望江县| 邹平县| 新兴县| 民勤县| 哈巴河县| 奉贤区| 福建省| 民县| 绥滨县| 静安区| 克山县| 桃园市| 曲靖市| 菏泽市| 涟水县| 碌曲县| 桑植县| 安达市| 大名县| 福泉市| 霍州市| 宁明县| 嘉善县| 咸阳市| 神池县| 上蔡县| 南涧| 绩溪县|