html5中文学习网

您的位置: 首页 > 网站及特效实例 > javascript特效 » 正文

JS中三目运算符和if else的区别分析与示例_javascript技巧_

[ ] 已经帮助:人解决问题

今天写了一个图片轮播的小demo,用到了判断uufHTML5中文学习网 - HTML5先行者学习网
uufHTML5中文学习网 - HTML5先行者学习网

先试了一下if else,代码如下:uufHTML5中文学习网 - HTML5先行者学习网
 uufHTML5中文学习网 - HTML5先行者学习网

复制代码 代码如下:
uufHTML5中文学习网 - HTML5先行者学习网
if(n >= count-1){uufHTML5中文学习网 - HTML5先行者学习网
n =0;uufHTML5中文学习网 - HTML5先行者学习网
}else{uufHTML5中文学习网 - HTML5先行者学习网
n ++;uufHTML5中文学习网 - HTML5先行者学习网
}uufHTML5中文学习网 - HTML5先行者学习网
uufHTML5中文学习网 - HTML5先行者学习网

随后代码写完了,准备优化一下代码,将此段改成了三目运算符的写法uufHTML5中文学习网 - HTML5先行者学习网
 uufHTML5中文学习网 - HTML5先行者学习网

复制代码 代码如下:
uufHTML5中文学习网 - HTML5先行者学习网
n = n >= (count-1) ? n=0 : n++uufHTML5中文学习网 - HTML5先行者学习网
uufHTML5中文学习网 - HTML5先行者学习网

结果完全不同uufHTML5中文学习网 - HTML5先行者学习网

随后研究了一下这两者的区别,总结为一句话:三目运算有返回值,if else没有返回值uufHTML5中文学习网 - HTML5先行者学习网

做了如下测试:uufHTML5中文学习网 - HTML5先行者学习网
 uufHTML5中文学习网 - HTML5先行者学习网

复制代码 代码如下:
uufHTML5中文学习网 - HTML5先行者学习网
var n=1;uufHTML5中文学习网 - HTML5先行者学习网
 if(n>1){uufHTML5中文学习网 - HTML5先行者学习网
    n=0;uufHTML5中文学习网 - HTML5先行者学习网
}else{uufHTML5中文学习网 - HTML5先行者学习网
    n++;uufHTML5中文学习网 - HTML5先行者学习网
}uufHTML5中文学习网 - HTML5先行者学习网
console.log(n);uufHTML5中文学习网 - HTML5先行者学习网

输出结果:2uufHTML5中文学习网 - HTML5先行者学习网

uufHTML5中文学习网 - HTML5先行者学习网
uufHTML5中文学习网 - HTML5先行者学习网

三目运算如下:uufHTML5中文学习网 - HTML5先行者学习网
 uufHTML5中文学习网 - HTML5先行者学习网

复制代码 代码如下:
uufHTML5中文学习网 - HTML5先行者学习网
var n=1;uufHTML5中文学习网 - HTML5先行者学习网
n = n>1?0 : n++;uufHTML5中文学习网 - HTML5先行者学习网
console.log(n);uufHTML5中文学习网 - HTML5先行者学习网
输出结果为:1uufHTML5中文学习网 - HTML5先行者学习网
uufHTML5中文学习网 - HTML5先行者学习网

插入一段其他内容:++n和n++的区别:简单地说,都是 n 自加1。区别是,n++是执行完后面的语句才加1;而++n 就先做 n+1才执行后面的语句uufHTML5中文学习网 - HTML5先行者学习网

那么对于++n呢uufHTML5中文学习网 - HTML5先行者学习网

if else 语句uufHTML5中文学习网 - HTML5先行者学习网

复制代码 代码如下:
uufHTML5中文学习网 - HTML5先行者学习网
var n=1;uufHTML5中文学习网 - HTML5先行者学习网
 if(n>1){uufHTML5中文学习网 - HTML5先行者学习网
    n=0;uufHTML5中文学习网 - HTML5先行者学习网
}else{uufHTML5中文学习网 - HTML5先行者学习网
    ++n;uufHTML5中文学习网 - HTML5先行者学习网
}uufHTML5中文学习网 - HTML5先行者学习网
console.log(n);uufHTML5中文学习网 - HTML5先行者学习网
输出结果:2uufHTML5中文学习网 - HTML5先行者学习网
uufHTML5中文学习网 - HTML5先行者学习网
uufHTML5中文学习网 - HTML5先行者学习网

三目运算结果uufHTML5中文学习网 - HTML5先行者学习网
 uufHTML5中文学习网 - HTML5先行者学习网

复制代码 代码如下:
uufHTML5中文学习网 - HTML5先行者学习网
var n=1;uufHTML5中文学习网 - HTML5先行者学习网
n = n>1?0 : ++n; uufHTML5中文学习网 - HTML5先行者学习网
console.log(n); 输出结果为:2uufHTML5中文学习网 - HTML5先行者学习网
uufHTML5中文学习网 - HTML5先行者学习网
 uufHTML5中文学习网 - HTML5先行者学习网
可以看出if else和三目运算的区别了吧~~~uufHTML5中文学习网 - HTML5先行者学习网
 uufHTML5中文学习网 - HTML5先行者学习网
n++和++n在此验证中,没有任何区别,因为if else都是计算结果之后的,不会返回n,没有任何返回值uufHTML5中文学习网 - HTML5先行者学习网
 uufHTML5中文学习网 - HTML5先行者学习网
但是对于三目运算,n++返回的n值为n本身,++n返回的n值为n+1之后的结果uufHTML5中文学习网 - HTML5先行者学习网

读了本文,小伙伴们是不是对js中的三目运算符和if else有了新的认识呢。uufHTML5中文学习网 - HTML5先行者学习网

(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助