語(yǔ)法
區(qū)分大小寫
標(biāo)識(shí)符:第一個(gè)字符必須是字母、下劃線、或一個(gè)美元符號(hào);其他字符可以是字母、下劃線、美元符號(hào)或數(shù)字。
注釋:?jiǎn)涡?/;多行/* */,C語(yǔ)言風(fēng)格的注釋。
變量
松散類型,可以用來(lái)保存任何類型的數(shù)據(jù)。每個(gè)變量?jī)H僅是一個(gè)用力保存值的占位符而已。定義變量時(shí)要使用var操作符,后跟變量名。在局部作用域中的變量在推出時(shí)會(huì)被銷毀。如果省略了var操作符,變量就變味全局變量了。但此種方式不推薦使用。
數(shù)據(jù)類型
五種簡(jiǎn)單數(shù)據(jù)類型:Undefined、Null、Boolean、Number、String。一種復(fù)雜數(shù)據(jù)類型Object。并且不支持任何創(chuàng)建自定義類型的機(jī)制,所有值最終都將是上述6種數(shù)據(jù)類型之一。
typeof操作符
用于檢測(cè)變量的數(shù)據(jù)類型,是操作符而不是函數(shù)。對(duì)一個(gè)值使用typeof可能返回的結(jié)果:值未定義, “undefined”;boolean,“boolean”;字符串,“string”;數(shù)值,“number”;對(duì)象或null,“object”;函數(shù),“function”。
Undefined類型
使用var定義但是沒(méi)有初始化的時(shí)候,這個(gè)變量的值就是undefined。如果一個(gè)變量沒(méi)有聲明,那么使用typeof操作符時(shí)也會(huì)返回undefined。但是如果直接alert會(huì)產(chǎn)生錯(cuò)誤。
Null類型
如果定義的變量準(zhǔn)備用于保存對(duì)象,那么最好將該變量初始化為null。直接檢查null值就可以知道相應(yīng)的變量是否已經(jīng)保存了一個(gè)對(duì)象的引用了。undefined值派生自null值。
Boolean類型
類型轉(zhuǎn)換:
非空字符串 true ? 空字符串 false;非0數(shù)值 true 0和NaN false;非null true
Number類型
NaN:任何涉及的操作都會(huì)返回NaN,并且,與任何值都不相等,包括自身。
isNaN():
isNaN(NaN) true; isNaN(10) false; isNaN("10") false; isNaN("blue") true; isNaN(true) false
數(shù)值轉(zhuǎn)換
Number()轉(zhuǎn)換規(guī)則:
true 1,false 0;null 0;undefined NaN;
字符串:只有數(shù)字,十進(jìn)制數(shù)字;包含有效浮點(diǎn)格式,浮點(diǎn)數(shù)值;有效十六進(jìn)制格式,相同大小的十進(jìn)制;空,0;其他,NaN;
對(duì)象:調(diào)用value(),如果結(jié)果為NaN,調(diào)用toString()。
parseInt():
parseInt("1234blue") 1234;parseInt("") NaN; parseInt("0xA") 10;parseInt(22.5) 22;parseInt("070") 56。
parseFloat():
String類型
字符串是不可變的,也就是一旦創(chuàng)建,它們的值就不能改變,要改變某個(gè)變量保存的字符串,首先要銷毀原來(lái)的字符串,然后再用另一個(gè)包含新值的字符串填充該變量。
轉(zhuǎn)換為字符串:toString()
Object類型
var o = new Object();//不推薦省略括號(hào)
每個(gè)實(shí)例都有下列屬性和方法:
Constructor:構(gòu)造函數(shù)
hasOwnProperty(propertyName):檢查給定的屬性在當(dāng)前對(duì)象實(shí)例中是否存在
isPrototypeOf(object):檢查傳入的對(duì)象是否是另一個(gè)對(duì)象的原型
propertyIsEnumerable(propertyName):檢查給定的屬性是否能夠使用for-in語(yǔ)句來(lái)枚舉
toLocaleString():返回對(duì)象那個(gè)的字符串表示,該字符串與執(zhí)行環(huán)境的地區(qū)對(duì)應(yīng)
toString():返回對(duì)象的字符串表示
valueOf():返回對(duì)象的字符串、數(shù)值或布爾值表示。通常與toString返回值相同。
操作符
一元操作符
遞增和遞減操作符 ++ --
一元加和減操作符 + -
位操作符
~ & | ^ ?<< >> >>>
布爾操作符?
!&& ||
乘性操作符
* / %
加性操作符
+ -
關(guān)系操作符
< > <= >=?
相等操作符
== != === !==
條件操作符
?:
賦值操作符
=
逗號(hào)操作符
,
語(yǔ)句
if (condition) statement1 else statement2
do { statement } while (expression)
while (expression) statement
for (initialization; expression; post-loop-expression) statement
for (property in expression) statement
label:statement
break continue
with (expression) statement
switch (expression) { case value: statement break;}
函數(shù)
function functionName (arg0,arg1,......,argN){ statements }
參數(shù)
arguments對(duì)象參數(shù)數(shù)組