JavaScript學習心得04
阿新 • • 發佈:2018-06-18
func als 而且 AR 運算符 lag 等於 檢驗 們的
- 任何值(包括NaN本身)與NaN比較,返回的都是false:
1 > NaN // false
1 <= NaN // false
‘1’ > NaN // false
‘1’ <= NaN // false
NaN > NaN // false
NaN <= NaN // false
- 數組和別的東西做比較時,變成字符串和人家比;
- 非數組對象和別的東西做比較時,直接變成這個的字符串:
‘[object Object]’
- 如果兩個值不是同一類型,嚴格相等運算符
===
直接返回false
,而相等運算符==
會將它們轉換成同一個類型,再用嚴格相等運算符進行比較; NaN
與任何值都不相等(包括自身)。另外,正0等於負0:
NaN === NaN // false
+0 === -0 // true
- 兩個復合類型(對象、數組、函數)的數據比較時,不是比較它們的值是否相等,而是比較它們是否指向同一個地址:
{} === {} // false
[] === [] // false
(function () {} === function () {}) // false
undefined
和null
與自身嚴格相等;- 而且
null == undefined // true
- 兩個只聲明未賦值的變量是相等的:
var v1;
var v2;
v1 === v2 // true
- 位運算符只對整數起作用,如果一個運算子不是整數,會自動轉為整數後再執行;
- 雖然在 JavaScript 內部,數值都是以64位浮點數的形式儲存,但是做位運算的時候,是以32位帶符號的整數進行運算的,並且返回值也是一個32位帶符號的整數:
function toInt32(x) {//將任意數值轉化為32位整數
return x | 0;
}
- 將一個小數與0進行二進制或運算,等同於對該數去除小數部分,即取整數位;
- 一個數與自身的取反值相加,等於-1:
~ 3 // -4
~ -3 // 2
- 對一個整數連續兩次二進制否運算,得到它自身;
- 對一個小數連續進行兩次二進制否運算,能達到取整效果(相較或運算,更快速);
- 異或運算也可以用來取整:
12.9 ^ 0 // 12
- 如果左移0位,就相當於將該數值轉為32位整數,等同於取整,對於正數和負數都有效;
- 使用以下方法查看負整數在計算機內部的存儲形式!
-1 >>> 0 // 4294967295
二進制開關
- 用
|
運算制造掩碼:
var mask = FLAG_A | FLAG_B | FLAG_D;
// 0001 | 0010 | 1000 => 1011
- 用
&
來檢驗是否打開了相應的開關;
void運算
點擊鏈接,提交表單,但不跳轉頁面。
<a href=“javascript: void(document.form.submit())”>
提交
</a>
逗號運算符
逗號運算符用於對兩個表達式求值,先執行逗號之前的操作,然後返回逗號後面的值。
var value = (console.log(‘Hi!’), true);
// Hi!
value // true
圓括號的作用
- 改變優先級;
- 放到函數名後,調用這個函數。
圓括號之中,只能放置表達式
JavaScript學習心得04