詞法結(jié)構(gòu)
//單行注釋
/*段落注釋*/
/*
*段落注釋
*/
直接量:程序中直接使用的數(shù)據(jù)值包蓝,如12驶社,“hello”,true
保留字:break测萎,true亡电,if,var硅瞧。份乒。。腕唧。
類(lèi)型或辖、值、變量
用var來(lái)申明包括數(shù)字枣接,字符串颂暇,函數(shù)等變量。
函數(shù)內(nèi)部申明的變量為局部變量但惶,作用于為函數(shù)內(nèi)耳鸯,函數(shù)外部申明的變量為全局變量,作用于全局膀曾,局部變量?jī)?yōu)先級(jí)高于全局變量县爬。
申明提前:未賦值的變量都會(huì)優(yōu)先申明,即時(shí)將變量聲明放在使用他的代碼塊后面添谊,也可以正常取的變量的值财喳,如果變量已經(jīng)賦值放在使用它的代碼塊后面,就取不到值斩狱。
數(shù)據(jù)類(lèi)型:
undefined:表示變量還沒(méi)有聲明
null:表示object類(lèi)型變量沒(méi)有引用對(duì)象
boolean:布爾值類(lèi)型
String:字符串類(lèi)型
Symbol:ES6語(yǔ)法新定義數(shù)據(jù)類(lèi)型
Number:數(shù)值類(lèi)型
Object:對(duì)象類(lèi)型
表達(dá)式和運(yùn)算符
函數(shù)定義表達(dá)式:
var a=function name(){}
屬性訪(fǎng)問(wèn):
a.b
a["b"]
創(chuàng)建對(duì)象:
new a();
new b(1,2,2);
如果創(chuàng)建對(duì)象不需要參數(shù)耳高,括號(hào)可以省略
new a
運(yùn)算符:
<,>,<=,>=,in,instanceof(判斷左邊是否是右邊的實(shí)例),&&,||,!
賦值:
a=1
語(yǔ)句
if(){
}
if(){
}else{
}
if(){
}else if(){
}
swich(){
case:
break;
}
while(){
}
for(var i=0;i<a.length;i++){
}
for(var a in b){}
對(duì)象
創(chuàng)建對(duì)象
-對(duì)象直接量
var a={};
var b={x:0,y:1};
var c={x:b.x,y:d{x:1,y:2}};
-通過(guò)new創(chuàng)建
var a=new Object();
var b=new Date();
-Object.create()創(chuàng)建
var a=Object.create({x:1,y:2});
var b=Object.create(Object.prototype);
屬性值的查詢(xún)和賦值
var a=o.x;//查詢(xún)
var a=0["x"];//查詢(xún)
o.x=1;//賦值
o["x"]=2;//賦值
繼承
var a={x:1};
var b=inherit(a);
b.y=2;
b.x+b.y //3
數(shù)組
數(shù)組方法
join()
reverse()
元素顛倒順序
sort()
排序
contact()
合并
slice()
拆分
splice()
拆分
push() pop()
分別對(duì)應(yīng)尾部添加一個(gè)或多個(gè)元素和尾部刪除一個(gè)或多個(gè)元素
unshift() shift()
分別對(duì)應(yīng)頭部添加一個(gè)或多個(gè)元素和頭部刪除一個(gè)或多個(gè)元素
toString() toLocalString()
將數(shù)組元素轉(zhuǎn)為字符串并用逗號(hào)分開(kāi)輸出喊废,不會(huì)輸出方括號(hào)或其他任何包裹數(shù)組值的分隔符
函數(shù)
函數(shù)定義
使用關(guān)鍵字function祝高。
function 函數(shù)名 (參數(shù),參數(shù)......){
函數(shù)體
}
函數(shù)的調(diào)用
四種方式調(diào)用函數(shù):
+作為函數(shù)
+作為方法
+作為構(gòu)造函數(shù)
+通過(guò)call() apply()方法間接調(diào)用
可立即執(zhí)行
(function(){
//函數(shù)體
}());
類(lèi)和模塊
export導(dǎo)出模塊
import導(dǎo)入模塊module