JavaScript中逗號運(yùn)算符介紹及使用示例
有一道js面試題,題目是這樣的:下列代碼的執(zhí)行結(jié)果是什么,為什么?
var i, j, k;
for (i=0, j=0; i<10, j<6; i++, j++) {
k = i+j;
}
document.write(k);
答案是顯示10,這道題主要考察JavaScript的逗號運(yùn)算符。
下面是MDN對逗號運(yùn)算符的定義:
逗號運(yùn)算符計(jì)算兩個(gè)操作數(shù)(從左至右)并返回第二個(gè)操作數(shù)的值。
根據(jù)這個(gè)定義,可以擴(kuò)展一下:
逗號運(yùn)算符從左到右計(jì)算兩個(gè)或多個(gè)操作數(shù)并返回最后一個(gè)操作數(shù)的值。
可以感覺一下下面的代碼:
alert((0, 9));
alert((9, 0));
if (0,9) alert("ok");
if (9,0) alert("ok");
逗號運(yùn)算符在實(shí)際代碼中有什么樣的作用呢?
1、交換變量,無需第三個(gè)變量
var a = "a", b = "b";
//方法一
a = [b][b = a, 0];
//方法二
a = [b, b = a][0];
2、簡化代碼
if(x){
foo();
return bar();
}
else{
return 1;
}
可以簡寫成:
return x ? (foo(), bar()) : 1;
相關(guān)文章
js調(diào)試系列 源碼定位與調(diào)試[基礎(chǔ)篇]
如果看了1, 2兩篇,你對控制臺應(yīng)該有一個(gè)初步了解了,今天我們來個(gè)簡單的調(diào)試。昨天留的三個(gè)課后練習(xí),差不多就是今天要講的內(nèi)容2014-06-06
layer子層給父層頁面元素賦值,以達(dá)到向父層頁面?zhèn)髦档男Ч麑?shí)例
下面小編就為大家?guī)硪黄猯ayer子層給父層頁面元素賦值,以達(dá)到向父層頁面?zhèn)髦档男Ч麑?shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09
淺談es6中export和export default的作用及區(qū)別
下面小編就為大家分享一篇淺談es6中export和export default的作用及區(qū)別,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-02-02
限制文本框只能輸入數(shù)字||只能是數(shù)字和小數(shù)點(diǎn)||只能是整數(shù)和浮點(diǎn)數(shù)
這篇文章主要介紹了限制文本框只能輸入數(shù)字||只能是數(shù)字和小數(shù)點(diǎn)||只能是整數(shù)和浮點(diǎn)數(shù)的實(shí)例代碼,非常不錯(cuò),也比較實(shí)用,需要的小伙伴一起看下吧2016-05-05
js實(shí)現(xiàn)帶圓角的兩級導(dǎo)航菜單效果代碼
這篇文章主要介紹了js實(shí)現(xiàn)帶圓角的兩級導(dǎo)航菜單效果代碼,涉及javascript鼠標(biāo)事件及頁面元素樣式動態(tài)變換技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-08-08
前端實(shí)現(xiàn)下載文件(包含壓縮包下載)方式詳細(xì)總結(jié)
這篇文章主要給大家介紹了關(guān)于前端實(shí)現(xiàn)下載文件(包含壓縮包下載)方式的相關(guān)資料,這段時(shí)間項(xiàng)目需要下載文件,所以這里給大家總結(jié)下,需要的朋友可以參考下2023-09-09

