標籤:false 符號 而且 部分 asc 學習心得 運算式 efi 使用
- 任何值(包括NaN本身)與NaN比較,返回的都是false:
1 > NaN // false1 <= NaN // false‘1’ > NaN // false‘1’ <= NaN // falseNaN > NaN // falseNaN <= 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