javascript運算符和表達式

運算符

表達式

表達式 = 操做符 + 操做數chrome

  • 每一個表達式都有一個運算結果,該結果叫作 返回值,返回值的類型叫作返回類型 全部的表達式能夠看成數據使用
  1. = :該表達式返回賦值的結果
  2. . :返回屬性的值(同[]
  • console.log函數調用返回的結果爲undefined

chrome瀏覽器控制檯的環境是REPL環境(讀 -- 執行 -- 打印 -- 循環) 除了輸出表達式的值外,還會輸出表達式的返回值瀏覽器

  1. typeof(1/0) number
  2. typeof 1/0 NaN
  3. 0/0 NaN
  4. NaN和任何數字作任何運算獲得的結果都爲NaN

isNaN 判斷一個屬是否是NaN isFinite 判斷一個數據是否是有限的bash

  • isNaN(undefined) true
  • isNaN(null) false
  • isFinite(null) true
  • isFinite(undefined) false

其餘類型使用算樹運算符

  1. 除加號以外的運算符 將原始值轉換爲數字類型(自動完成轉換),而後進行運算
  • boolean : true -> 1 false -> 0
  • string: 若是字符串內部是數字,則轉換爲數字,不然變換爲NaN (+"Infinity" --> Infinity)沒法識別表達式
  • null: 0 null + null == 0
  • undefined: NaN
  • 對象類型 : "[object Object]" --> NaN
  • {}*5 報錯 {}被看成語法塊進行操做 ({}*5) NaN
  1. 加號運算符 加號一邊有字符串, + 變爲字符串拼接操做

若是兩邊都是字符串,則直接進行拼接 若是一邊是字符串,另外一邊爲其餘類型: 數字 --> 數字字符串 boolean --> 字符串true/false null --> "null" undefined --> "undefined" 對象 --> "[object Object]" 兩邊都沒有字符串 對象 + 123 .--> "[object Object]123"函數

  1. 自增 自減 x++ : 將x自增一,返回自增以前的值 ++x : 將x自增一,返回自增以後的值

x-- : 將x自減一,返回自減以前的值 --x : 將x自減一,返回自減以後的值ui

###優先級spa

++ --
* / %
+ -

從左到右依次查看,若是遇到操做數,將數據的值直接取出,若是遇到兩個相鄰的運算符,而且左邊的運算符大於右邊的運算符,則直接運行左邊的運算符
複製代碼
var x = 1;
var y = x + x++ * ++x;
console.log(y);   //4
var x = 1;
y = x++ + ++x * ++x + ++x; //18
複製代碼
相關文章
相關標籤/搜索