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ù)這個定義,可以擴(kuò)展一下:
逗號運算符從左到右計算兩個或多個操作數(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)文章
js調(diào)試系列 源碼定位與調(diào)試[基礎(chǔ)篇]
如果看了1, 2兩篇,你對控制臺應(yīng)該有一個初步了解了,今天我們來個簡單的調(diào)試。昨天留的三個課后練習(xí),差不多就是今天要講的內(nèi)容2014-06-06

淺談es6中export和export default的作用及區(qū)別

限制文本框只能輸入數(shù)字||只能是數(shù)字和小數(shù)點||只能是整數(shù)和浮點數(shù)

前端實現(xiàn)下載文件(包含壓縮包下載)方式詳細(xì)總結(jié)