js逗号表达式

在js中的某些场景,","是一种运算符号,只不过他的优先级要低于普通的原酸符,在变量声明或者return中,经常看到逗号表达式。

声明变量:

var a=1,b=2,c=3;
 console.log(a,b,c)
 输出:1,2,3

变量赋值:

var a=1,b=2;
 var c=(a++),3;
 console.log(c);
输出:3

return返回值:

var a=1;
 var fn = function(){
    return a++,a
 };
 console.log(fn())
输出:2a++将a的值重新计算为2,然后return返回最后一项,则为2.注意的是 return要是想返回多个变量可以使用object,即:return {a:1,b:2}

原文地址:https://www.cnblogs.com/7Ezreal/p/10109211.html

时间: 2024-11-07 11:35:29

js逗号表达式的相关文章

JS 逗号表达式

JavaScript中逗号运算符 JavaScript中逗号运算符(,)是顺序执行两个表达式.使用方法: expression1, expression2 其中expression1是任何表达式.expression2是任何表达式. JavaScript中逗号运算符, 运算符使它两边的表达式以从左到右的顺序被执行,并获得右边表达式的值., 运算符最普通的用途是在 for 循环的递增表达式中使用.例如: for (i = 0; i < 10; i++, j++){   k = i + j;} 每次

关于逗号表达式的问题.

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这个条件判断部分是一个逗号表达式,逗号表达式返回的结果由最后一个表达式决定 不信看看这: fo

关于宏和逗号表达式

宏是C编译系统的预处理,何谓“预”?即是正式工作开始之前的准备工作.所以宏替换是在对程序编译之前进行的~也就是直接将宏定义的字符,转换成后面的表达式. 逗号表达式:逗号运算符,优先级别最低,它将两式联接起来,可连续执行 代码:直接对文件输出1-1000的数字 #include <stdio.h> #define B P,P,P,P,P,P,P,P,P,P #define P L,L,L,L,L,L,L,L,L,L #define L I,I,I,I,I,I,I,I,I,I,N #define

逗号表达式

/** 目的:逗号表达式的例子时间:2015年7月11日23:11:11 */#include <stdio.h> int main(void){ int i; int j = 2; i = (j++, ++j, j + 2, j - 3); printf("i = %d\n",i); printf("j = %d\n",j); return 0;} /** 在VC++6.0中运行结果为:------------------------ i = 1j =

第18课 三目运算符和逗号表达式

1. 三目运算符 (1)三目运算符(a?b:c)可以作为逻辑运算的载体 (2)规则:当a的值为真时,返回变量b的值(而不是变量本身):否则返回c的值. [实例分析]三目运算符初探 #include <stdio.h> int main() { int a = 1; int b = 2; int c = 0; c = a < b ? a : b; //(a<b)?a:b; //以下代码试图根据条件有选择地给a或b变量赋值.但这样的 //代码是错的,因为三目运算符的返回值是a或b变量的

C++逗号表达式

转自:https://zhidao.baidu.com/question/106961628.html 逗号表达式的语法为: 表达式1,表达式2,...表达式n C++顺序计算表达式1,表达式2,--,表达式n的值.例如: int a,b,c: a=l,b=a+2, c=b+3: 由于按顺序求值, 所以能够保证b一定在a赋值之后, c一定在b赋值之后.该逗号表 达式可以用下面3个有序的赋值语句来表示: a=1: b=a+2: c=b+3: 逗号表达式是有值的,这一点是语句所不能代替的.逗号表达式

C-1 简单数据类型转换, scanf缓冲区, 逗号表达式

关于类型转换: 1.int 如果是超出了int的范围,会溢出 如果超出了太多,报错 如果是一个小数,只会截取整数部分, 不会四舍五入 2.float 如果是一个double类型的小数,double→float 如果是一个int类型的整数,int→float 3.double 如果是一个float,float→double 如果是一个int,int→double 4.char 自动转换的顺序是: char → int → float → double scanf缓冲区问题 在接收输入的时候,sca

《逗号表达式》

//对逗号表达式的考察. /* * 逗号表达式的运算方向是从左到右的,返回值是最后那个表达式的值. * 所以下面一个程序返回的结果是50 */ #include<stdio.h> int main() { int x; printf("%d\n",(x=5*6,x*2,x+20)); return 0; }

c语言中逗号运算符和逗号表达式

原文:c语言中逗号运算符和逗号表达式 C语言提供一种特殊的运算符——逗号运算符.用它将两个表达式连接起来.如: 3+5,6+8 称为逗号表达式,又称为“顺序求值运算符”.逗号表达式的一般形式为 表达式1,表达式2 逗号表达式的求解过程是:先求解表达式1,再求解表达式2.整个逗号表达式的值是表达式2的值.例如,上面的逗号表达式“3+5,6+8”的值为14.又如,逗号表达式 a=3*5,a*4对此表达式的求解,读者可能会有两种不同的理解:一种认为“3*5,a*4” 是一个逗号表达式,先求出此逗号表达