+ -
当前位置:首页 → 问答吧 → if语句效率和语法问题的思考求助

if语句效率和语法问题的思考求助

时间:2011-12-18

来源:互联网

var myname = prompt("请输入你的姓名");
if((myname == "刘进")||(myname == "张三")||(myname == "李四")||(myname == "丫的")){
document.write("欢迎您再次光临:" + myname);
}else if (myname == "小王"){
document.write(myname + ",我其实很在意你的。");
}else{
document.write(myname + "欢迎您第一次到访问");
}
这段代码执行是没问题的:
但我想引申几个问题:
1、(myname == "刘进")这里加了个()的,在我印象中括号是拿来作为函数填写参数的时候才会出现,在运算符等地方就没看到过,看来这个地方明显是把一句话当个整体,像小时候做算术,括号里的先执行,求这方面的信息和阐释。
2、if的语法是 if(真伪判断){代码}else{代码},按理说{}里面应该是个代码块,但好像没有一个{}是把整个IF语句块包裹起来的,都是判断一下真伪,然后一个{},再次判断再次{}都没有说{}包裹整个if语句如果if语句太长了,会不会很麻烦。

3、本例如果有N个else if ,以及要对N个名字做判断是不是这样的代码比较繁杂,求更好,更精简的方法

小弟初学,拜谢各位大哥提携

作者: kablog   发布时间: 2011-12-18

多个if可用switch语句

switch(name){
case '张三':
// ...
break;
case '李四':
// ...
break;
default : 
// 未知名字
break;
}

作者: diky87688973   发布时间: 2011-12-18

比较表达式中用括号可以用来提高优先级,其实你的第一个句子里不一定要用括号的.

作者: qianjin036a   发布时间: 2011-12-18

我想说可不可以用数组,函数,对象来操作这个

作者: kablog   发布时间: 2011-12-18

你是想要这样吗?但我觉得你应该看不懂哦,从之前几个帖子看来你还是初学

HTML code

<script>
var myname = prompt("请输入你的姓名");
var nl = {"刘进":1,"张三":1,"李四":1,"丫的":1,"小王":2}
if(nl[myname]==1){
document.write("欢迎您再次光临:" + myname);
}else if (nl[myname]==2){
document.write(myname + ",我其实很在意你的。");
}else{
document.write(myname + "欢迎您第一次到访问");
}
</script>

作者: p2227   发布时间: 2011-12-18