# JavaScript 語法
- <a href="#no1">2.1 準備工作</a>
- <a href="#no2">2.2 語法</a>
- <a href="#no3">2.3 操作</a>
- <a href="#no4">2.4 條件語句</a>
- <a href="#no5">2.5 循環語句</a>
- <a href="#no6">2.6 函數</a>
- <a href="#no7">2.7 對象</a>
- <a href="#no8">2.8 小結</a>
##<a name="no1">2.1 準備工作</a>
> 編寫`JavaScript`腳本不需要任何特殊的軟件,一個普通的文本編輯器和一個`Web`瀏覽器就足夠了。
##<a name="no2">2.2 語法</a>
> 我們把語言結構方面的各項規則,稱之為“語法”。
**2.2.1 語句**
用`JavaScript`編寫的腳本,與其他語言編寫出來的腳本一樣,都由一系列指令構成,這些指令叫做語句。只有按照正確的語法編寫出來的語句才能得到正確的解釋。
**2.2.2 注釋**
不是所有的語句都需要`JavaScript`解釋器去解釋并執行。有時候需要在腳本中寫一些僅供自己參考或提醒自己的信息,你希望`JavaScript`解釋器能直接忽略掉這些信息。這類語句就是**注釋**。
`JavaScript`有如下幾種注釋方式:
//自我提醒:有注釋是好事
/*自我提醒:
有注釋是好事 */
<!-- 這是JavaScript中的注釋 (js對其處理與 // 一樣)
**2.2.3 變量**
> 人們把那些會發生變化的東西成為**變量**。
在`JavaScript`中你可以這樣給變量賦值:
sex = '男';
age = '25'
var mood;
var age;
var mood,age;
var mood = 'happy';
var age = 25;
var mood,age;
mood = 'happy';
age = 25;
**2.2.4 數據類型**
1. 字符串:由零個或多個字符構成。字符包括(但不限于)字母、數字、標點符號和空格。字符串必須包含在引號內,單引號或雙引號都可以。
2. 數值
3. 布爾值:布爾數據只有兩個可選值(`true`或`false`)。
**2.2.5 數組**
> 數組是指用一個變量表示一個值的集合,集合中的每個值都是這個數組的一個元素。
**2.2.6 對象**
> 與數組類似,對象也是使用一個名字表示一組值。對象的每個值都是對象的一個屬性。
##<a name="no3">2.3 操作</a>
> 加減乘除都是一種操作,每一種都必須借助于相應的操作符才能完成。
**其中加號(+)是一個比較特殊的操作符,它既可以用于數值,也可以用與字符串。把兩個字符串合二為一是一種很直觀易懂的操作:**
var message = 'I am feeling ' + 'happy';
##<a name="no4">2.4 條件語句</a>
最常見的條件語句是 `if` 語句,下面是`if`語句的基本用法:
if(condition){
statements;
}
**條件必須放在`if`后面的圓括號中。條件的求值結果永遠是一個布爾值,即只能是`true`或`false`。花括號中的語句——不管它們有多少條,只有在給定條件的求值結果是`true`的情況下才會執行。**
**2.4.1 比較操作符**
> `JavaScript`還提供了許多幾乎只能用在條件語句里面的操作符,其中包括諸如大于(>)、小于(<)、大于或等于(>=)、小于或等于(<=)之類的比較操作符。
>如果想比較兩個值是否相等,可以使用“等于”比較操作符。這個操作符由兩個等號構成(==)。
- >
- <
- >=
- <=
- ==
- ===
- !=
- !==
**2.4.2 邏輯操作符**
- && : 邏輯與
- || : 邏輯或
- ! : 邏輯非
##<a name="no5">2.5 循環語句</a>
> 循環語句可以讓我們反復多次地執行同一段代碼。工作原理:只要給定條件仍能得到滿足,包含在循環語句里的代碼就將重復地執行下去;一旦給定條件的求值結果不再是`true`,循環也就到此為止。
**2.5.1 `while`循環**
`whild`循環與`if`語句非常相似,語法幾乎完全一樣
whild(condition){
statements;
}
`while`循環與`if`語句唯一的區別是:只要給定條件的求值結果是`true`,包含在花括號里的代碼就將反復的執行下去。
var count = 1;
while(count < 11){
console.log(count);
count++;
}
#####**`do...while`**循環
【包含在花括號里面的代碼至少執行一次。】
do{
statuments;
}while(condition);
**2.5.2 `for`循環**
> `for`循環類似于`while`循環,好處是循環控制結構更加清晰,與循環有關的所有內容都包含在`for`語句的圓括號部分。
##<a name="no6">2.6 函數</a>
> 如果需要多次使用同一段代碼, 可以把它們封裝成一個函數。函數就是一組允許在你的代碼里隨時調用的語句。每個函數實際上是一個短小的腳本。
**定義一個函數的語法:**
function name(arguments){
statements;
}
**變量的作用域**
> 變量既可以是全局的,也可以是局部的。
- 全局變量 : 可以在腳本中的任何位置被引用。全局變量的作用域是整個腳本。
- 局部變量 : 只存在于聲明它的那個函數的內部,在那個函數的外部是無法引用它的。局部變量的作用域僅限于某個特定的函數。
##<a name="no7">2.7 對象</a>
> 對象(`object`)是一種非常重要的數據類型,是字包含的數據集合,包含在對象里面的數據可以通過兩種形式訪問——屬性(`property`)和方法(`method`):
- 屬性是隸屬于某個特定對象的變量。
- 方法是只有某個特定對象才能調用的函數。
**對象就是由一些屬性和方法組合在一起而構成的一個數據實體。**
在`JavaScript`中,屬性和方法都使用‘點’語法來訪問:
Object.property
Object.method()
**實例是對象的具體個體。**
**2.7.1 內建對象**
> 在`JavaScript`中,拿來就可以用的對象成為內建對象(`native object`)。
**2.7.2 宿主對象**
> 除了內建對象,還可以在`JavaScript`腳本中使用一些已經預先定義好的其他對象。這些對象不是由`JavaScript`語言本身而是由它的運行環境提供的。具體到`Web`應用,這個環境就是瀏覽器。由瀏覽器提供的預定義對象成為宿主對象(`host object`);
宿主對象包括:`Form、Image、Element`等。我們可以他用過這些對象獲得關于網頁上表單、圖像和各種表單元素等信息。
##<a name="no8">2.8 小結</a>
本章主要介紹了一些`JavaScript`語言的基礎知識。介紹了一些術語:語句、變量、數組和函數等。