## 布爾運算符
> 將表達式轉為布爾值
> 取反運算符!、且運算符&&、或運算符||、三元運算符?:
### 1.取反運算符
取反運算符有轉換數據類型的作用。
~~~javascript
console.log(!undefined); // true
console.log(!null); // true
console.log(!0); // true
console.log(!NaN); // true
console.log(!""); // true
console.log(!54); // false
console.log(!'hello'); // false
~~~
> 對于或和且的理解:對于兩個boolean類型的數據
> 或:有一個真即真;且:有一個假即假
### 2.且運算符“&&”
規則:如果第一個運算子的布爾值為true,則返回第二個運算子的值(注意是值,不是布爾值);如果第一個運算子的布爾值是false,則返回第一個運算子的值,且不再對第二個運算子求值。
~~~javascript
console.log(true && true); // true;
console.log(false && true); // false;
console.log(true && 'abc'); // 'abc';
console.log('f' && 'abc'); // 'abc'
console.log(NaN && 'abc'); // NaN
~~~
### 3.或運算符“||”
規則:如果第一個運算子的布爾值為true,則返回第一個運算子的值,且不再對第二個運算子求值;如果第一個運算子的值為false,則返回第二個運算子的值。
~~~javascript
console.log(true || false); // true
console.log(false || true); // true
console.log(false || false); // false
console.log(true || "abc"); // true
console.log(false || "abc"); // abc
~~~
或運算符常用于為一個變量設置默認值
~~~javascript
function hello(text) {
text = text || 'hello';
console.log(text);
}
hello();
~~~
### 4.三元運算符
~~~javascript
var text=(intelligence===0?'人工智障':'人工智能');
console.log(text);
~~~
> 用if...else結構也能實現
- Hello World!
- 介紹
- 語句和變量
- 標識符、注釋和區塊
- 基本數據類型和引用數據類型
- 數據類型
- typeof
- number
- 字符串
- 布爾類型
- 函數
- 數組
- 運算符
- 加法運算符
- 算術、賦值、比較運算符
- 布爾運算符
- 語句
- 條件語句
- 循環語句
- DOM模型
- DOM和DOM節點
- 特征相關屬性
- 節點對象的方法
- Element對象
- Attribute對象
- Text節點和CSS操作
- 事件模型
- 標準庫
- Number對象
- String對象
- Array對象
- Date、Boolean和Math對象
- JSON對象
- 面向對象編程中的 this
- 一切皆對象
- Web Storage
- 錯誤處理機制
- Error對象和try..catch語句
- javascript的原生錯誤類型
- BOM模型
- window對象
- 計時事件