① js對象屬性賦值時,可以用三元表達式為什麼不能用if(){}else{}
for(vari=0;i<nodes1.length;i++){
if(nodes1[i].nodeName=="P"&&nodes1[i].nodeType==1){
if(i%2==0){
nodes1[i].style.backgroundColor="yellow";
}else{
nodes1[i].style.backgroundColor="red";
}
}
}
if(){}else{} 是語句,是沒有返回值的,而三元表達式則是表達式,是可以直接賦值的。所以你不能想當然就這么用。
如果你真想獲得類似三元表達式的效果,可以這樣:
for(vari=0;i<nodes1.length;i++){
if(nodes1[i].nodeName=="P"&&nodes1[i].nodeType==1){
nodes1[i].style.backgroundColor=function(){
if(i%2==0){//把if語句放入一個匿名函數中
return"yellow";
}else{
return"red";
}
}();//立即執行這個匿名函數
}
}
② handlebars.js怎麼寫三元表達式
tagname=(tagname==""||tagname
==undefined)?dd:tagname
③ js如何向函數輸入運算符
1.運算符
1.賦值運算符和擴展運算符
1.賦值運算符 =
2.擴展運算符
+=,-=,*=,/=,%=,^=....
ex:
a=a+b;--> a+=b;
a=a+1;--> a++,a+=1,++a
實現兩個數字的換位:
a^=b;
b^=a;
a^=b;
2.條件運算符
條件運算符又稱三目運算符。
單目(一元)運算符,只需要一個操作數或表達式。
ex:++,--,!
雙目(二元)運算符,需要兩個操作或表達式
ex:+,-,*,/,%,>,<,>=,<=,==,===,!=,!==,&,|,^,&&,||
三目(三元)運算符,需要三個表達式或操作數。
語法:
條件表達式?表達式1:表達式2;
先判斷條件表達式的值,如果條件為true,則執行表達式1,如果條件為false,則執行表達式2。
ex:
從彈出框中輸入成績,如果成績大於60,則輸出及格,否則輸出不及格。
練習:
從彈出框中輸入成績:
如果成績等於100,則輸出"獎勵1000元",
如果成績>=90,則輸出"獎勵100元",
如果成績>=70,則輸出"獎勵10元素",
否則,輸出"請大家吃飯"。