三 目運算:如var a = 10; var b= 12; c = a>b ?a:b; 若成立執行a否則執行b var isHide = true; 若用if判斷語句如下 if(isHide) { box.style.display = "block"; } else { box.style.dis ...
三 目運算:如var a = 10; var b= 12; c = a>b ?a:b; 若成立執行a否則執行b var isHide = true; 若用if判斷語句如下 if(isHide) { box.style.display = "block"; } else { box.style.display = "none"; } 三目運算替代if box.style.display = isHide?"block":"none"; 判斷條件?成立執行語句:不成立執行語句。 條件成立返回:成立執行的結果 條件不成立:執行的結果 簡化版的if判斷 continue 跳過本次迴圈:不能寫入三目運算 列: for(var i=0;i<5;i++){ if(i==3) continue;跳過i=3這個迴圈不執行;其他依然執行。 } break:終止整個迴圈;預設只會終止緊鄰的這個迴圈如果要終止其他迴圈,需要給迴圈起名字。 例: for(var i=0;i<5;i++){ if(i==3) break;當迴圈執行到i=3時終止整個迴圈。 } name:for(var i=0;i<5;i++){ for(var j=0;j<5;j++){ break name //終止兩個迴圈 } } 對象存貯數據,是存在對象的屬性中: 對象是一種複雜類型的數據,在對象中我們可以存儲任意類型的數據 第一種:屬性操作 1 第一種屬性操作時一組寫死的值,不能使用變數。 讀操作 obj.屬性名 寫操作 obj.屬性名 = 屬性值; obj.key = val; 鍵值對; 如 var obj = {}; obj.name = "Leo"; 這種寫法為第一種屬性名都被寫死若想調用必須要如 obj.age = 40; 下console.log(obj.name);。 obj.gender = "female"; console.log(obj.w);//註意第一種屬性操作是寫死的一個值,不能使用變數 obj.w 這麼寫就認為在找 obj的w屬性。 第二種屬性操作 第二種屬性操作做,接收的是一個字元串,字元串就可以存在變數中,可以直接寫obj[變數調用] 讀操作 obj["屬 性名] obj[“屬性名”]=屬性值; obj["key"] = val; 註意第二種 如 var obj = {}; obj['name'] = "Leo"; obj['age'] = 40; obj['gender'] = "female"; obj['width'] = "180px"; obj['height'] = "180px"; obj['children'] = ["大明","小明","三明"]; var w = "width"; console.log(obj[w]);// 第二種屬性操作,接受的是一個字元串,字元串就可以存在變數中,可以直接寫obj[變數調用]; alert("name" in obj); // obj 有 name屬性就返回 true,否則 返回false 判斷對象中是否有這個屬性 返回 true 或 false for (var s in obj) { 找到obj的所有屬性 s會依次變成arr的屬性名 //同過in方法將迴圈變數s變成obj對 console.log(s,obj[s]); 應的屬性名。若想使用只有用第二中命名。s的類型是字元串。 } s為屬性名 obj[S]為對應的屬性名的屬性值。 for in 可以用來迴圈對象和數組 不能用來迴圈一組元素, for迴圈只能用來迴圈 數組類數組(一組元素)不能用來迴圈一組對象。 ###while語句### 起始值 while(判斷條件){ 執行語句; 自增; } ##switch## switch(要判斷的內容){ case:判斷內容; //條件成立後執行語句將case下所有代碼都執行,只有遇見break才會結束 執行語句; 若沒有遇見break就會遇見穿刺現象執行所有代碼。 break; default: //以上所有的判斷都不成立 } 例 switch(a){ case 10://當a == 10; console.logo(“;;;;”)語句結束之後添加break break;//當a==10 的 case 15://當a==15; console.logo("ppppp") break; default: //以上所有的判斷都不成立 }