JavaScript中逗號運算符介紹及使用示例
有一道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的逗號運算符。
下面是MDN對逗號運算符的定義:
逗號運算符計算兩個操作數(shù)(從左至右)并返回第二個操作數(shù)的值。
根據(jù)這個定義,可以擴展一下:
逗號運算符從左到右計算兩個或多個操作數(shù)并返回最后一個操作數(shù)的值。
可以感覺一下下面的代碼:
alert((0, 9));
alert((9, 0));
if (0,9) alert("ok");
if (9,0) alert("ok");
逗號運算符在實際代碼中有什么樣的作用呢?
1、交換變量,無需第三個變量
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)文章
css transform 3D幻燈片特效實現(xiàn)步驟解讀
3D幻燈片特效想必大家以不在陌生至于表現(xiàn)形式一般都是拘泥于傳統(tǒng)接下來為大家介紹下使用css3 transform配合js以及html實現(xiàn)3D幻燈片特效2013-03-03
微信小程序?qū)W習(xí)總結(jié)(四)事件與冒泡實例分析
這篇文章主要介紹了微信小程序?qū)W習(xí)總結(jié)(四)事件與冒泡,結(jié)合實例形式分析了微信小程序事件、冒泡、數(shù)據(jù)獲取相關(guān)機制、原理與操作注意事項,需要的朋友可以參考下2020-06-06
理解javascript定時器中的setTimeout與setInterval
這篇文章主要幫助大家學(xué)習(xí)理解javascript定時器中的setTimeout與setInterval,從實例出發(fā)進行深入探討,感興趣的小伙伴們可以參考一下2016-02-02
微信小程序webview與h5通過postMessage實現(xiàn)實時通訊的實現(xiàn)
這篇文章主要介紹了微信小程序webview與h5通過postMessage實現(xiàn)實時通訊的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
僅一個form表單 js實現(xiàn)注冊信息依次填寫提交功能
這篇文章主要為大家詳細介紹了僅一個form表單,JavaScript可實現(xiàn)注冊信息依次填寫提交功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-06-06

