一道面试题关于js中逗号

1、今天遇到一个面试题,自我感受是会,可是却作错了。人都是这样,自我感受良好,其实也就预警本身已经忽视一些细节以及一些自我感知。面试

面试题:spa

1    var i=0,j=0,k;
2     for(;i<3,j<5;i++,j++){
3         k=i+j;
4     }
5     console.log(k);

 

求k的值,当时想都没想,直接认为是4。可是结果倒是8。这是由于什么?都逗号的缘故。code

逗号的做用是链接表达式,若是多个表达式:f1,f2,f3.....fn 的时候做为判断条件的时候,最终这个表达式的值是由第n个表达式决定即最后的表达式的值决定。对象

这就是解释上面的问题。当j等于5的时候表达式:i<3,j<5返回的是false 因此这时候 i,j的值都是4。blog

注意:console

  一、js中基本数据类型传递的值。class

  二、对象类型传递的是地址。数据类型

相关文章
相关标签/搜索