Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript中的“(,)”和“,”是什么?_Javascript - Fatal编程技术网

Javascript中的“(,)”和“,”是什么?

Javascript中的“(,)”和“,”是什么?,javascript,Javascript,有人能解释一下JavaScript中(,)和,之间的区别,以及这些操作是如何调用的吗 var a = 42, b; b = ( a++, a ); var a = 42, b; b = a++, a; 从 逗号运算符计算其每个操作数(从左到右) 并返回最后一个操作数的值 从 逗号运算符计算其每个操作数(从左到右) 并返回最后一个操作数的值 ()在将值赋给b之前,只执行内部代码。 所以b=(a++,a)将执行以下操作: a增加1 b等于a 和,单独创建第二个变量并为其赋值(本例中未定义)。这只

有人能解释一下JavaScript中
(,)
之间的区别,以及这些操作是如何调用的吗

var a = 42, b;
b = ( a++, a );

var a = 42, b;
b = a++, a;

逗号运算符计算其每个操作数(从左到右) 并返回最后一个操作数的值

逗号运算符计算其每个操作数(从左到右) 并返回最后一个操作数的值

()
在将值赋给b之前,只执行内部代码。 所以
b=(a++,a)将执行以下操作:

  • a增加1
  • b等于a
  • 单独创建第二个变量并为其赋值(本例中未定义)。这只是一个简写:

    var a=42,b与以下代码相同:

    var a = 42, 
    var b;
    
    ()
    在将值赋给b之前,只执行内部代码。 所以
    b=(a++,a)将执行以下操作:

  • a增加1
  • b等于a
  • 单独创建第二个变量并为其赋值(本例中未定义)。这只是一个简写:

    var a=42,b与以下代码相同:

    var a = 42, 
    var b;
    

    答案已在您的来源中:

    以下代码输出为:

    var a = 42, b;
    b = ( a++, a );
    
    a;  // 43
    b;  // 43
    
    但是如果我们删除
    ()
    ,会发生什么呢

    因为
    运算符的优先级低于
    =
    运算符。 因此,
    b=a++,a
    被解释为
    (b=a++),a
    。因为
    a++
    有后遗症,所以分配给
    b
    +
    更改
    a
    之前的值42


    ()
    用于强制执行操作顺序

    答案已经在您的来源中:

    以下代码输出为:

    var a = 42, b;
    b = ( a++, a );
    
    a;  // 43
    b;  // 43
    
    但是如果我们删除
    ()
    ,会发生什么呢

    因为
    运算符的优先级低于
    =
    运算符。 因此,
    b=a++,a
    被解释为
    (b=a++),a
    。因为
    a++
    有后遗症,所以分配给
    b
    +
    更改
    a
    之前的值42


    ()
    用于强制执行操作顺序

    -向下滚动一点。在谷歌搜索
    逗号运算符之后,我找到了这个链接:(:@num8er谢谢。我不知道它是如何调用的,所以我没有找到太多。使用
    ()
    执行表达式并返回最后一个表达式。没有
    ()
    这只是表达式列表:
    expr1、expr2、expr3…
    -向下滚动一点。在谷歌搜索
    逗号运算符后,我找到了以下链接:(:@num8er谢谢。我不知道它是如何调用的,所以我没有找到多少。使用
    ()
    执行表达式并返回最后一个表达式。没有
    ()
    这只是一个表达式列表:
    expr1、expr2、expr3…
    复制粘贴文档不能称为“答案”(:复制粘贴文档不能称为“答案”(: