一、流程控制語(yǔ)句程序三種基本結(jié)構(gòu)--順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu) 1、選擇結(jié)構(gòu): if語(yǔ)句 if (判斷條件) { 執(zhí)行語(yǔ)句 }else if (判斷條件) { 執(zhí)行語(yǔ)句 }else{ 執(zhí)行語(yǔ)句 } switch語(yǔ)句 case里必須是具體的值,但是如果表達(dá)式可以返回一個(gè)具體的值true或者false也可以是表達(dá)式,這時(shí)switch里面是true switch(表達(dá)式) { case 取值: 執(zhí)行語(yǔ)句 break; case 取值: 執(zhí)行語(yǔ)句 break; default: 執(zhí)行語(yǔ)句 } 2、循環(huán)結(jié)構(gòu): for語(yǔ)句:1初始化表達(dá)式、2控制表達(dá)式、3循環(huán)后表達(dá)式 for(var i = 0; i < n ; i ){ 執(zhí)行語(yǔ)句 } while語(yǔ)句 var i= 0; which (判斷條件){ 執(zhí)行語(yǔ)句 } do while 語(yǔ)句 先執(zhí)行后判斷至少執(zhí)行一次 var i = 0; do { 執(zhí)行語(yǔ)句 }while(判斷條件) 二、數(shù)組 1、數(shù)組的聲明 ①通過(guò)構(gòu)造函數(shù) var arr = new Array (); ②通過(guò)字面量 var arr = []; 2、數(shù)組的賦值和取值 賦值:arr [索引號(hào)] = 1; 批量賦值 for循環(huán) 取值:arr [索引號(hào)]; 3、數(shù)組的遍歷 ---- 批量取值 for (var i = 0; i < arr.length; i ){} 4、防止稀疏數(shù)組 arr (arr.length) = i; 三、函數(shù) 1、函數(shù)的定義和調(diào)用 函數(shù)的定義 ①函數(shù)的聲明:function 函數(shù)名 () { 函數(shù)體(要執(zhí)行的代碼) } ②函數(shù)表達(dá)式:var 函數(shù)名 = function () { 函數(shù)體 }; 函數(shù)的調(diào)用:函數(shù)名 ();(要調(diào)用先引用) 2、函數(shù)的參數(shù) 有參數(shù)的函數(shù)的聲明:function 函數(shù)名 (參1,參2) { //函數(shù)聲明時(shí)的參數(shù)只是一個(gè)占位符,是形式參數(shù) 函數(shù)體 } 有參數(shù)的函數(shù)的調(diào)用:函數(shù)名 (參1,參2) //函數(shù)調(diào)用時(shí)傳入的參數(shù)是具體的數(shù)值,是實(shí)際參數(shù) 形參和實(shí)參沒(méi)有關(guān)系,只不過(guò)在調(diào)用的時(shí)候把實(shí)參的值復(fù)制了一份賦值給了形參 3、函數(shù)返回值 ①return 要返回的值;(函數(shù)的返回值是什么,尹調(diào)用這個(gè)函數(shù)就相當(dāng)于調(diào)用了什么) ②函數(shù)在執(zhí)行完成return語(yǔ)句后便會(huì)退出函數(shù),后面的代碼不會(huì)執(zhí)行 ③如果只打印函數(shù)名,會(huì)通過(guò)函數(shù)名找到函數(shù)體,如果想打印的是函數(shù)的返回值,那么一定要加小括號(hào)() 4、匿名函數(shù) 匿名函數(shù):函數(shù)定義完后就賦值給了一個(gè)變量,通過(guò)變量名來(lái)調(diào)用這個(gè)函數(shù),所以就沒(méi)有必要起名字 5、遞歸函數(shù) 函數(shù)自己調(diào)用自己的編程技巧 6、回調(diào)函數(shù) 被當(dāng)做函數(shù)傳遞的函數(shù) 四、對(duì)象 通過(guò)對(duì)象可以方便的對(duì)變量和函數(shù)進(jìn)行管理和使用 1、鍵值對(duì):一種對(duì)應(yīng)關(guān)系,通過(guò)鍵能夠方便地找到值 key:value; 對(duì)象也是鍵值對(duì) 屬性名:屬性值、索引:元素的值 2、對(duì)象的聲明 ①通過(guò)構(gòu)造函數(shù) var obj = new.Object(); ②通過(guò)字面量 var obj = {}; 3、屬性:用來(lái)描述對(duì)象的特征 一般是名詞 對(duì)應(yīng)變量 定義:對(duì)象.屬性名 = 要賦的值; 調(diào)用:對(duì)象.屬性名; 4、方法:用來(lái)描述對(duì)象的行為 一般是動(dòng)詞 是一種函數(shù)(屬于某個(gè)對(duì)象的函數(shù)就叫方法) 定義:對(duì)象.方法名 = function(){ //函數(shù)體 }; 調(diào)用:對(duì)象.方法名; 5、訪問(wèn)屬性的兩種方式 ①點(diǎn)語(yǔ)法(屬性名是什么就必須寫(xiě)什么):obj.屬性名; ②中括號(hào)(通過(guò)字符串找屬性名,字符串可以通過(guò)編程拼接):obj['屬性名']; 6、遍歷的兩種方式 ①for循環(huán) ②for-in for(var k in json) { 語(yǔ)句 } k變量代表的是json中的各個(gè)屬性(key)和 var i = 0中的i是一個(gè)意思 名字不同而已 json JavaScript Object Notation(JavaScript對(duì)象標(biāo)記法)是仿照J(rèn)S中對(duì)象字面量的格式去書(shū)寫(xiě)的一串 用來(lái)記錄對(duì)象數(shù)據(jù)的字符串,可匡以用于數(shù)據(jù)傳輸。 7、Null null常被用于期望一個(gè)對(duì)象,但是當(dāng)前先不附加任何值的情況 undefined派生自null undefined == null //true undefined === null //false |
|