1. 程式人生 > >JavaScript學習心得04

JavaScript學習心得04

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
  • undefinednull與自身嚴格相等;
  • 而且 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

圓括號的作用

  1. 改變優先級;
  2. 放到函數名後,調用這個函數。
    圓括號之中,只能放置表達式

JavaScript學習心得04