1.2
"hello"
保留字
true
flase
null
this
變量
i
num
var arr = []
var p = {};
注意:JavaScript對數(shù)組初始化表達(dá)式和對象初始化表達(dá)式求值的時(shí)候,數(shù)組初始化表達(dá)式和對象初始化表達(dá)式的元素表達(dá)式也都會(huì)各自計(jì)算一次。也就是說,元素表達(dá)式每次計(jì)算的值有可能是不同的。var f = function(){}
1.4屬性訪問表達(dá)式var arr =[1];
var p = {x:1}
arr[0]
p.x
注意:在“.”和“[”之前的表達(dá)式總是會(huì)首先計(jì)算,如果計(jì)算結(jié)果是null或undefined,表達(dá)式會(huì)拋出一個(gè)類型錯(cuò)誤異常,因?yàn)檫@兩個(gè)值都不能包含任何屬性。f()
a.sort()
1.6對象創(chuàng)建表達(dá)式new Object()
加法運(yùn)算符(Addition):x + y
減法運(yùn)算符(Subtraction): x - y
乘法運(yùn)算符(Multiplication): x * y
除法運(yùn)算符(Division):x / y
余數(shù)運(yùn)算符(Remainder):x % y
自增運(yùn)算符(Increment):++x 或者 x++
自減運(yùn)算符(Decrement):--x 或者 x--
數(shù)值運(yùn)算符(Convert to number): +x
負(fù)數(shù)值運(yùn)算符(Negate):-x
1 + 2 //3
'hello' + ' world' //hello world
加法運(yùn)算符的行為表現(xiàn)為:
++a;
后增量a++;
var a = 1;
a++; // 1
++a; // 2
var a = 3;
a--; //3
--a; //2
== 相等
=== 嚴(yán)格相等
!= 不相等
!== 嚴(yán)格不相等
< 小于
<= 小于或等于
> 大于
>= 大于或等于
相等和不等運(yùn)算符小于(<)
大于(>)
小于等于(<=)
大于等于(>=)
3.2邏輯表達(dá)式true && 1; //1
'' && 'f' //""
邏輯或(||)
或運(yùn)算符(||)的運(yùn)算規(guī)則是:如果第一個(gè)運(yùn)算子的布爾值為true,則返回第一個(gè)運(yùn)算子的值,且不再對第二個(gè)運(yùn)算子求值;如果第一個(gè)運(yùn)算子的布爾值為false,則返回第二個(gè)運(yùn)算子的值。'a' || '' // "a"
'' || 'a' //"a"
邏輯非(!)
取反運(yùn)算符形式上是一個(gè)感嘆號(hào),用于將布爾值變?yōu)橄喾粗?,即true變成false,false變成true。!true; //false
!false; //true
對于非布爾值的數(shù)據(jù),取反運(yùn)算符會(huì)自動(dòng)將其轉(zhuǎn)為布爾值。規(guī)則是,以下六個(gè)值取反后為true,其他值取反后都為false。undefined
null
false
0(包括+0和-0)
NaN
空字符串('')
3.3.賦值表達(dá)式x += y // 等同于 x = x + y
x -= y // 等同于 x = x - y
x *= y // 等同于 x = x * y
x /= y // 等同于 x = x / y
x %= y // 等同于 x = x % y
x >>= y // 等同于 x = x >> y
x <<= y // 等同于 x = x << y
x >>>= y // 等同于 x = x >>> y
x &= y // 等同于 x = x & y
x |= y // 等同于 x = x | y
x ^= y // 等同于 x = x ^ y
或運(yùn)算(or):符號(hào)為|,表示若兩個(gè)二進(jìn)制位都為0,則結(jié)果為0,否則為1。
與運(yùn)算(and):符號(hào)為&,表示若兩個(gè)二進(jìn)制位都為1,則結(jié)果為1,否則為0。
否運(yùn)算(not):符號(hào)為~,表示對一個(gè)二進(jìn)制位取反。
異或運(yùn)算(xor):符號(hào)為^,表示若兩個(gè)二進(jìn)制位不相同,則結(jié)果為1,否則為0。
左移運(yùn)算(left shift):符號(hào)為<<。
右移運(yùn)算(right shift):符號(hào)為>>。
帶符號(hào)位的右移運(yùn)算(zero filled right shift):符號(hào)為>>>
有一點(diǎn)需要特別注意,位運(yùn)算符只對整數(shù)起作用,如果一個(gè)運(yùn)算子不是整數(shù),會(huì)自動(dòng)轉(zhuǎn)為整數(shù)后再執(zhí)行。
var o = {x:1};
"x" in o //true
var a = new Array();
a instanceof Object; //true
x>0 ? x : -x; //求x的絕對值
typeof 1 // 'number'
var o={x:1}
delete o.x;
"x" in o //false
void 0 //undefined
void(0) //undefined
var a = 1;
void (a=2);
a //2
<a href="javascript:void(0)"></a>
'a','b' //"b"
var a = 0;
var b = (a++,5);
a //1
b //5
更多建議: