博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
逗号表达式
阅读量:4977 次
发布时间:2019-06-12

本文共 1393 字,大约阅读时间需要 4 分钟。

群里看到的一道前端JS面试题。我以为我会,其实我错了。找了很多资料,写下来。

1 var i,j,k;2 for( i = 0 , j = 0; i < 10 , j < 6; i++ , j++ ) {3 k = i+j;4 }5 document.write(k); //10

控制台结果:

                

然后我把j修改成16.

1     for(var i = 0, j = 0; i < 10 , j < 16 ; i++ , j++){2         k = i + j;3         console.log('i='+i+',j='+j+'k的结果是:'+k);4     }5     console.log(k);//30

 控制台结果:

                

我看到这个结果,感到不理解。然后查资料,有人说是因为:“这个主要是逗号语句,当有多个条件,之间用逗号隔开的时候,会返回最右侧的条件

然后我又该改改代码:

1     for (var i = 0,j = 0; i < 16; i++, j++)2     {3         k = i + j;4         console.log('i='+i+',j='+j+'  k的结果是:'+k);5     }6     console.log(k);

控制台截图:

              

发现和第二种效果是等价的。

     1 var t = (4,5,7); 2 console.log(t);//7 

一、逗号运算符的特性及作用 

逗号运算符的作用是将若干表达式连接起来。它的优先级别在所有运算符中是最低的,结合方向是"自左至右"的。 
如:3*3,4*4 
二、逗号表达式 
逗号表达式的一般形式是:表达式1,表达式2,表达式3……表达式n 
逗号表达式的求解过程是:先计算表达式1的值,再计算表达式2的值,……一直计算到表达式n的值。最后整个逗号表达式的值是表达式n的值。 
看下面几个例子: 
x=8*2,x*4 /*整个表达式的值为64,x的值为16*/ 
(x=8*2,x*4),x*2 /*整个表达式的值为128,x的值为16*/ 
x=(z=5,5*2) /*整个表达式为赋值表达式,它的值为10,z的值为5*/ 
x=z=5,5*2 /*整个表达式为逗号表达式,它的值为10,x和z的值都为5*/ 
逗号表达式用的地方不太多,一般情况是在给循环变量赋初值时才用得到。所以程序中并不是所有的逗号都要看成逗号运算符,尤其是在函数调用时,各个参数是用逗号隔开的,这时逗号就不是逗号运算符。 
如:printf(" %d,%d,%d",x,y,z);

###########################################################

运算符使它两边的表达式以从左到右的顺序被执行,并获得右边表达式的值。, 运算符最普通的用途是在 for 循环的递增表达式中使用。例如: 

for (i = 0; i < 10; i++, j++)
{
k = i + j;
}

console.log(k);//18

每次通过循环的末端时, for 语句只允许单个表达式被执行。, 运算符被用来允许多个表达式被当作单个表达式,从而规避该限制。

转载于:https://www.cnblogs.com/oklfx/p/8109050.html

你可能感兴趣的文章
intent- 启动其他应用
查看>>
bzoj 1069 [SCOI2007]最大土地面积
查看>>
第一篇:weblogic之weblogic10.3.6安装
查看>>
[Tex学习笔记]开方
查看>>
一套2015年微积分期末考试试卷
查看>>
【分享】一个Asp.net mvc下的分页控件MvcPagerX
查看>>
全栈工程师眼中的HTTP
查看>>
C# - 扩展方法
查看>>
WPF HTTP请求(GET,POST)
查看>>
Vue + Webpack + Vue-loader 系列教程
查看>>
Centos系统安装JDK详细图文教程
查看>>
HDU1002 -A + B Problem II(大数a+b)
查看>>
ssh-key的复制
查看>>
RSA加解密实现
查看>>
开始我的代码笔记
查看>>
spring BeanUtils 工具实现对象之间的copy
查看>>
Zookeeper笔记
查看>>
C++ Primer Plus读书笔记07
查看>>
MetroApp保存UIEment为图片
查看>>
atoi函数的一种实现
查看>>