型別列表示期望的運算元型別,以及運算子結果型別。lval 表示左值。
運算子操作an
型別++
前 / 後增量r1
lval -> num
–前 / 後減量r1
lval -> num-求反
r1num->num
+轉換為數字r1
num->num
~按位求反r1
int->int
!邏輯非r1
bool->bool
delete
刪除屬性r1
lval->bool
typeof
檢測運算元型別r1
any->str
void
返回 undefined 值r1
any->undef
乘、除、求餘l2
num,num->num
+、-加、減l2
num,num->num
+字串連線l2
str,str->str
<<
左移位l
2int,int->int
>有符號右移l2
int,int->int
>
無符號右移l2
int,int->int
<、 <=、>、>=
比較數字順序l2
num,num->bool
<、 <=、>、>=
比較在字母表中的順序l2
str,str->bool
instanceof
測試物件類l2
obj,func->bool
in測試屬性是否存在l2
str,obj->bool
==判斷相等l2
any,any->bool
!=判斷不等l2
any,any->bool
===判斷恒等l2
any,any->bool
!==判斷非恒等l2
any,any-bool
&按位與l2
int,int->int
^按位異或l2
int,int->int
|按位或l2
int,int->int
&&邏輯與l2
any,any->any
| |邏輯或l2
any,any->any
? :條件運算子r3
bool,any,any->any
=變數賦值或物件屬性賦值r2
lval,any->any
*= 、/=、%=、+=、-=、&=
^=、|=、<<=、>>=、>>>=
運算且賦值r2
lval,any->any
,忽略第乙個運算元,返回第二個運算元l2
any,any->any
* 屬性訪問表示式和呼叫表示式的優先順序要比所有運算子都高。
如果運算元中沒有字串,則都轉化為數字。
加法操作符的行為表現為:
xtypeof x
undefined
「undefined」
null
「object」
true 或 false
「boolean」
任意數字或 nan、infinity
「number」
任意字串
「string」
任意函式
「function」
任意內建物件 非函式
「object」
任意宿主物件
由編譯器各自實現的字串 ,但不是 「undefined」、」boolean」、」number」、」string」
* ecmascript 3 規範規定所有內建可執行物件,typeof 一律返回」function」。
* ecmascript 5 規範規定所有可執行物件,包括內建物件和陣列物件一律返回」function」。
javascript學習筆記之表示式
1.with表示式 如 with frames 1 document.forms 0 name.value address.value email.value 也可以寫為 var form frames 1 document.forms 0 form.name.value form.address....
javascript 邏輯表示式
1.邏輯與 運算子首先計算左運算元的值,即首先計算 左側表示式。如果計算結果是假值,那麼整個表示式的結果一定也是假值,因此 這時簡單地返回左運算元的值,而不會對右運算元進行計算。反過來講,如果左運算元是真值,那麼整個表示式的結果則依賴於右運算元的值,如果右運算元是真值,那麼整個表示式的值一定是真值 ...
Javascript之正規表示式基礎
regexp 物件表示正規表示式,它是對字串執行模式匹配的強大工具。1 regexp 物件的建立 直接量語法 pattern attributes 建立 regexp 物件的語法 new regexp pattern,attributes 注 引數 pattern 是乙個字串,指定了正規表示式的模式...