① 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元素",
否则,输出"请大家吃饭"。