## 注釋
JavaScript 支持單行和多行注釋。注釋會被 JavaScript 引擎忽略,所以它對程序的結果沒有影響。使用注釋為其他開發者記錄代碼,像?[JSDoc](http://usejsdoc.org/ "JSDoc")?這類工具庫,可以幫助生成基于注釋的項目文檔頁面。
~~~
// Single- and multi-line comments.
// This is an example of a single-line comment.
/*
* this is an example
* of a
* multi-line
* comment.
*/
~~~
## 空白
空白也被 JavaScript 引擎忽略。有許多工具可以用來去掉程序中的空白,降低了文件的整體大小和改進網絡延遲。鑒于這類工具的可用性,空白應該加以利用,以使代碼盡可能的易讀。
~~~
// Whitespace is insignificant.
var hello = "Hello";
var world = "World!";
~~~
~~~
// Semantic whitespace promotes readability.
// Readable code is good!
var foo = function() {
for ( var i = 0; i < 10; i++ ) {
alert( i );
}
};
foo();
// This is much harder to read!
var foo=function() {for(var i=0;i<10;i++){alert(i);}};foo();
~~~
## 保留字
當聲明用戶定義的變量和函數時,有少量的保留字不能被使用。一些保留字已經被實現,一些被保留以供將來使用,還有一些事因為歷史原因而保留。[這里](http://js101.co/javascript-101/reserved-words.html)是保留字的列表,對保留字的深入解釋可以在[?MDN 的 JavaScript 參考](https://developer.mozilla.org/zh-CN/docs/JavaScript/Reference/Reserved_Words "MDN 保留字")當中找到。
## 標識符
標識符被用來給變量和函數的唯一名稱,以便隨后它們可以通過該名稱被引用到。標識符名稱必須遵循一些規則:
* 不能是保留字。
* 只能由字母,數字,美元符號和下劃線組成。
* 第一個字符不能是數字。
命名標識符的最佳實踐是選取一個將來也能對你或者其他開發者有意義的名稱。
~~~
// Valid identifier names.
var myAwesomeVariable = "a";
var myAwesomeVariable2 = "b";
var my_awesome_variable = "c";
var $my_AwesomeVariable = "d";
var _my_awesome_variable_$ = "e";
~~~
## 變量定義
變量可以使用多個?`var`?語句來定義,或者使用單個組合的?`var`?語句。
~~~
// This works:
var test = 1;
var test2 = function() { ... };
var test3 = test2( test );
// And so does this:
var test4 = 1,
test5 = function() { ... },
test6 = test2( test );
~~~
變量可以在聲明時不分配一個值,程序會給它們一個默認的值?`undefined`。
~~~
var x;
x === undefined; // true
~~~