JS中三目運算符和if else的區(qū)別分析與示例
今天寫了一個圖片輪播的小demo,用到了判斷
先試了一下if else,代碼如下:
if(n >= count-1){
n =0;
}else{
n ++;
}
隨后代碼寫完了,準備優(yōu)化一下代碼,將此段改成了三目運算符的寫法
n = n >= (count-1) ? n=0 : n++
結(jié)果完全不同
隨后研究了一下這兩者的區(qū)別,總結(jié)為一句話:三目運算有返回值,if else沒有返回值
做了如下測試:
var n=1;
if(n>1){
n=0;
}else{
n++;
}
console.log(n);
輸出結(jié)果:2
三目運算如下:
var n=1;
n = n>1?0 : n++;
console.log(n);
輸出結(jié)果為:1
插入一段其他內(nèi)容:++n和n++的區(qū)別:簡單地說,都是 n 自加1。區(qū)別是,n++是執(zhí)行完后面的語句才加1;而++n 就先做 n+1才執(zhí)行后面的語句
那么對于++n呢
if else 語句
var n=1;
if(n>1){
n=0;
}else{
++n;
}
console.log(n);
輸出結(jié)果:2
三目運算結(jié)果
var n=1;
n = n>1?0 : ++n;
console.log(n); 輸出結(jié)果為:2
可以看出if else和三目運算的區(qū)別了吧~~~
n++和++n在此驗證中,沒有任何區(qū)別,因為if else都是計算結(jié)果之后的,不會返回n,沒有任何返回值
但是對于三目運算,n++返回的n值為n本身,++n返回的n值為n+1之后的結(jié)果
讀了本文,小伙伴們是不是對js中的三目運算符和if else有了新的認識呢。
相關(guān)文章
Bootstrap樹形菜單插件TreeView.js使用方法詳解
這篇文章主要為大家詳細介紹了Bootstrap樹形菜單插件TreeView.js使用方法,一款非常酷的基于bootstrap的jQuery多級列表樹插件,具有一定的實用性,感興趣的小伙伴們可以參考一下2016-11-11引入autocomplete組件時JS報未結(jié)束字符串常量錯誤
在引入jQuery的autocomplete組件時,遇到j(luò)s報未結(jié)束字符串常量錯誤,原因及解決方法如下,大家可以參考下2014-03-03Bootstrap基本插件學(xué)習(xí)筆記之Alert警告框(20)
這篇文章主要為大家詳細介紹了Bootstrap基本插件學(xué)習(xí)筆記之ALert警告框的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-12-12