zoukankan      html  css  js  c++  java
  • if语句判断条件中的逗号操作符

    看到以下语句:

    var a,b,c="c";
    if(a="a",b="b",c==0) {
      console.log(a,b)   //a,b已赋值,但此句不执行
    }
    
    var a,b,c="c";
    if(a="a",b="b",c=="c") {
      console.log(a,b)   //a,b已赋值,此句打印a,b
    }
    

    结论:从上面的语句中可以得知,if语句判断条件中,只判断最后一个式子,即判断c==0是否为true,无论c==0是否成立,均执行前面的语句。

    下面我们来看看"逗号操作符"。

    let x = 1;
    
    x = (x++, x);
    console.log(x);
    // expected output: 2
    
    x = (2, 3);
    console.log(x);
    // expected output: 3
    

    逗号操作符最常用的一种情况是:for 循环中提供多个参数。

    for (var i = 0, j = 9; i <= 9; i++, j--) {
      document.writeln("a[" + i + "][" + j + "] = " + a[i][j]);
    }
    

    以上代码使用逗号操作符在一次循环中递增/递减两个变量。(需要注意的是,var 语句中的逗号不是逗号操作符,因为它不是存在于一个表达式中。)

    另一个使用逗号操作符的例子是在返回值前处理一些操作。如同下面的代码,只有最后一个表达式被返回,其他的都只是被求值。(这个和if语句中的使用方法一致)

    function myFunc () {
      var x = 0;
      return (x += 1, x); // the same of return ++x;
    }
    
  • 相关阅读:
    《NoSQL精粹》读书笔记
    react+flux编程实践(一) 基础篇
    MongoDB索引(一) --- 入门篇:学习使用MongoDB数据库索引
    (译+注解)node.js的C++扩展入门
    深入解析Javascript异步编程
    (译)package.json详解
    Protobuf学习
    Redis学习
    MySQL学习-常用命令整理
    TCP/IP-TCP
  • 原文地址:https://www.cnblogs.com/ZerlinM/p/13679519.html
Copyright © 2011-2022 走看看