JavaScript中逗號(hào)運(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的逗號(hào)運(yùn)算符。
下面是MDN對(duì)逗號(hào)運(yùn)算符的定義:
逗號(hào)運(yùn)算符計(jì)算兩個(gè)操作數(shù)(從左至右)并返回第二個(gè)操作數(shù)的值。
根據(jù)這個(gè)定義,可以擴(kuò)展一下:
逗號(hào)運(yùn)算符從左到右計(jì)算兩個(gè)或多個(gè)操作數(shù)并返回最后一個(gè)操作數(shù)的值。
可以感覺一下下面的代碼:
alert((0, 9));
alert((9, 0));
if (0,9) alert("ok");
if (9,0) alert("ok");
逗號(hào)運(yùn)算符在實(shí)際代碼中有什么樣的作用呢?
1、交換變量,無(wú)需第三個(gè)變量
var a = "a", b = "b";
//方法一
a = [b][b = a, 0];
//方法二
a = [b, b = a][0];
2、簡(jiǎn)化代碼
if(x){
foo();
return bar();
}
else{
return 1;
}
可以簡(jiǎn)寫成:
return x ? (foo(), bar()) : 1;
相關(guān)文章
js調(diào)試系列 源碼定位與調(diào)試[基礎(chǔ)篇]
如果看了1, 2兩篇,你對(duì)控制臺(tái)應(yīng)該有一個(gè)初步了解了,今天我們來個(gè)簡(jiǎn)單的調(diào)試。昨天留的三個(gè)課后練習(xí),差不多就是今天要講的內(nèi)容2014-06-06layer子層給父層頁(yè)面元素賦值,以達(dá)到向父層頁(yè)面?zhèn)髦档男Ч麑?shí)例
下面小編就為大家?guī)硪黄猯ayer子層給父層頁(yè)面元素賦值,以達(dá)到向父層頁(yè)面?zhèn)髦档男Ч麑?shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09淺談es6中export和export default的作用及區(qū)別
下面小編就為大家分享一篇淺談es6中export和export default的作用及區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-02-02js簡(jiǎn)單實(shí)現(xiàn)圖片延遲加載的方法
這篇文章主要介紹了js簡(jiǎn)單實(shí)現(xiàn)圖片延遲加載的方法,涉及javascript針對(duì)頁(yè)面元素的遍歷與動(dòng)態(tài)設(shè)置技巧,需要的朋友可以參考下2016-07-07微信小程序?qū)崿F(xiàn)菜單左右聯(lián)動(dòng)
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)菜單左右聯(lián)動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-05-05整理CocosCreator常用知識(shí)點(diǎn)
這篇文章主要介紹了整理CocosCreator常用知識(shí)點(diǎn),這些知識(shí)點(diǎn),平時(shí)幾乎都能用到,希望同學(xué)們看完后,可以自己去試一下,加深印象2021-04-04JavaScript 加號(hào)(+)運(yùn)算符號(hào)
在一些框架中看到了類似這樣的寫法:+new Date();感覺有些怪,查閱了相關(guān)資料和一些網(wǎng)友的幫助.對(duì)此用法解釋如下,希望對(duì)大家有所幫助,不合適的地方請(qǐng)大家指正!2009-12-12限制文本框只能輸入數(shù)字||只能是數(shù)字和小數(shù)點(diǎn)||只能是整數(shù)和浮點(diǎn)數(shù)
這篇文章主要介紹了限制文本框只能輸入數(shù)字||只能是數(shù)字和小數(shù)點(diǎn)||只能是整數(shù)和浮點(diǎn)數(shù)的實(shí)例代碼,非常不錯(cuò),也比較實(shí)用,需要的小伙伴一起看下吧2016-05-05js實(shí)現(xiàn)帶圓角的兩級(jí)導(dǎo)航菜單效果代碼
這篇文章主要介紹了js實(shí)現(xiàn)帶圓角的兩級(jí)導(dǎo)航菜單效果代碼,涉及javascript鼠標(biāo)事件及頁(yè)面元素樣式動(dòng)態(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