关于逗号表达式的问题.

var i=(1,2,3);

console.log(i)  //3   这个或许都知道.

 

今天看到下面这个代码.

for(i=0, j=0; i<10, j<6; i++, j++){ k = i + j; }  //10   我以为是比较两者条件的最小值,想当然j<6停止循环了 i+j就是等于10啊

其实上述我的解释是错的.  答案误打误撞对了,  正确的解释是 i<10,j<6这个条件判断部分是一个逗号表达式,逗号表达式返回的结果由最后一个表达式决定

不信看看这:

for(i=0, j=0; i<4, j<6; i++, j++){ k = i + j; }  //10 还是等于10.

 

ps:好记性不如烂笔头,js一些tip会一直更新,共同努力

posted on 2015-04-15 11:35  阿飞的小蝴蝶.  阅读(359)  评论(0编辑  收藏  举报

导航