## 表達式
表達式(expression)是JavaScript中的一個短語,JavaScript解釋器會將其計算出一個結果。
將簡單表達式組合成復雜表達式最常用的方法就是使用運算符(operator)。運算符按照特定的運算規則對操作數進行運算,并計算出新值。
**1、表達式**
**1.1 原始表達式**
原始表達式是表達式的最小單位---它們不包含其他表達式。
JavaScript中的原始表達式包含常量、直接量、變量或關鍵字。
直接量是直接在程序中出現的常數值。
```
1.2
"hello"
//保留字
true
flase
null
this
//變量
i
num
```
**1.2 對象和數組的初始化表達式**
對象和數組初始化表達式實際上是一個新創建的對象和數組。也可稱為“**對象直接量**”和“**數組直接量**”。
```
var arr = []
var p = {};
```
注意:JavaScript對數組初始化表達式和對象初始化表達式求值的時候,數組初始化表達式和對象初始化表達式的元素表達式也都會各自計算一次。也就是說,元素表達式每次計算的值有可能是不同的。
**1.3 函數定義表達式**
函數定義表達式(函數直接量)定義一個JavaScript函數。表達式的值是這個新定義的函數。
```
var f = function(){}
```
**1.4 屬性訪問表達式**
屬性訪問表達式運算得到一個對象屬性或一個數組元素的值。
```
var arr =[1];
var p = {x:1}
arr[0]
p.x
```
注意:在“.”和“[”之前的表達式總是會首先計算,如果計算結果是null或undefined,表達式會拋出一個類型錯誤異常,因為這兩個值都不能包含任何屬性。
**1.5 調用表達式**
JavaScript中的調用表達式是一種調用函數或方法的語法表示。
```
f()
a.sort()
```
**1.6 對象創建表達式**
對象創建表達式創建一個對象并調用一個函數(這個函數稱做構造函數)初始化新對象的屬性。
```
new Object()
```
JavaScript中的大多數運算符是一個二元運算符。不過,JavaScript支持一個三元運算符(ternary operator),條件判斷運算符“?:”,它將三個表達式合并成一個表達式。
- 前言
- JavaScript簡介
- 基本概念
- 語法
- 數據類型
- 運算符
- 表達式
- 語句
- 對象
- 數組
- 函數
- 引用類型(對象)
- Object對象
- Array對象
- Date對象
- RegExp對象
- 基本包裝類型(Boolean、Number、String)
- 單體內置對象(Global、Math)
- console對象
- DOM
- DOM-屬性和CSS
- BOM
- Event 事件
- 正則表達式
- JSON
- AJAX
- 表單和富文本編輯器
- 表單
- 富文本編輯器
- canvas
- 離線應用
- 客戶端存儲(Cookie、Storage、IndexedDB)
- HTML5 API
- Video/Audio
- Geolocation API
- requestAnimationFrame
- File API
- FullScreen API
- IndexedDB
- 檢測設備方向
- Blob
- vibrate
- Luminosity API
- WebRTC
- Page Visibility API
- Performance API
- Web Speech
- Notification
- 面向對象的程序設計
- 概述
- this關鍵字
- 原型鏈
- 作用域
- 常用API合集
- SVG
- 錯誤處理機制
- JavaScript開發技巧合集
- 編程風格
- 垃圾回收機制