`
MirrorAvatar
  • 浏览: 47959 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ECMAScript中逗号操作符少见的用法

阅读更多

引言:有的公司面试前端开发的时候,可能会问JavaScript逗号操作符的问题,详情请参考文章最后的链接。

 

知识结构:



 

 

JavaScript逗号操作符,在MDN上是这么说的:

 

The comma operator evaluates each of its operands (from left to right) and returns the value of the last operand.

    大意是“逗号操作符会从左到右计算每个操作数的值,然后返回最后一个操作数的值”。

 

这应该是个少见的用法,平时开发中也没遇到过,如有例子,感谢您提供一下。下面说一下常用的用法和这个不常用的。

  1. 逗号可以用于变量声明,例:
    var a,b,c,d,e;
    有个细节需要注意的是:这里的逗号不算是个操作符,原因还是MDN上的解释:
    Note that the comma in the var statement is not the comma operator, because it doesn't exist within an expression. Rather, it is a special character in var statements to combine multiple of them into one. Practically, that comma behaves almost the same as the comma operator, though.
    还有个东西需要提出的是,百度JavaScript规范中,不推荐这种变量的声明方式,更推荐的是每个var只声明一个变量
    [强制] 每个 var 只能声明一个变量。

    解释:

    一个 var 声明多个变量,容易导致较长的行长度,并且在修改时容易造成逗号和分号的混淆。
    我同意百度的用法。
  2. 用于隔开函数参数、对象的属性。例子:
    function foo(a, b) {
        //code goes here
    }
    
    var person={
    	name:"Byron",
    	age:"24"
    };
     注意这些逗号也不是逗号操作符。
  3. 逗号操作符用在for循环当中。这个用法的依据就是文章刚开始说的:The comma operator evaluates each of its operands (from left to right) and returns the value of the last operand.例子:
    for (var i = 0, j = 9; i <= 9; i++, j--) {
    
        console.log("a[" + i + "][" + j + "]);
    
    }
     
  4. 还有个用法,不常见,MDN上提供的:Processing and then returning(执行然后返回):
    function myFunc () {
      var x = 0;
    
      return (x += 1, x); // the same of return ++x;
    }
     这个用法和 ++ x一个用法,感觉没啥意义。

参考资料:

JavaScript面试时候的坑洼沟洄——逗号、冒号与括号

 

 

 

 
  • 大小: 332.5 KB
分享到:
评论

相关推荐

    浅谈ECMAScript 中的Array类型

    instanceof操作符会检查其左边的变量是否是其右边构造函数的实例。然而在多个框架环境中,instanceof可能因为构造函数不一致而导致判断失败。为了解决这个问题,ECMAScript5引入了Array.isArray()方法,它不受框架...

    ECMAScript 2018快速入门 高清完整PDF

    7.6在参数中使用尾后逗号 62 7.7箭头函数 62 7.7.1基本语法 62 [2] 7.7.2箭头必须与参数在同一行 63 7.7.3不绑定this 63 7.7.4没有arguments对象 65 7.7.5定义方法时使用箭头函数 65 7.7.6不能用作构造函数 65 ...

    ECMAScript从零开始学-课件

    比如,Number对象、String对象、Boolean对象的使用,以及如何用`typeof`和`instanceof`操作符来检查数据类型。 3. **类型转换**: 在JavaScript中,类型转换是常见的操作,学习如何在不同数据类型之间转换是至关...

    JavaScript剩余操作符Rest Operator详解

    展开操作符用于将数组或类数组对象展开为用逗号分隔的值序列,而剩余操作符则用于收集函数参数列表中剩余的参数到一个数组中。 在定义函数时,如果函数参数以三个点(...)作为前缀,这样的参数称为剩余参数(rest ...

    ECMAScript数组

    通过以上介绍,我们可以了解到ECMAScript中的数组提供了丰富的操作方法,这些方法使得在JavaScript中处理数组变得非常灵活和强大。掌握了这些基本概念和技术,可以更加高效地处理数据和逻辑问题。

    JavaScript程序设计课件:第 3 章 表达式与操作符.ppt

    在JavaScript编程语言中,表达式和操作符是构建和控制程序流程的基础元素。表达式是由数值、变量和运算符组成的组合,它们可以被计算并产生新的值。这与C语言中的概念是相似的。 3.2 运算符概述: 在JavaScript中,...

    《JavaScript高级编程》学习笔记之object和array引用类型

    检测数组的方法有instanceof操作符和Array.isArray()方法。instanceof操作符可以判断某个对象是否为数组的实例,但存在局限性,因为如果有多个全局执行环境(如多个框架),可能会有多个版本的Array构造函数。为了...

    韩顺平老师Javascript_PPT

    - JavaScript提供了多种操作符,如算术操作符(+、-、*、/、%)、比较操作符(==、===、&lt;、&gt;等)和逻辑操作符(&&、||、!)。 3. **流程控制** - 条件语句(if...else、switch)用于根据条件执行不同的代码块。 ...

    JS(Dom+Bom).docx

    在JavaScript中,还有各种操作符,如算术操作符(+、-、*、/、%),一元操作符(++、--),逻辑操作符(&&、||、!),比较运算符(==、===),赋值运算符(=、+=、-=等)以及三元运算符(条件表达式)等。这些操作符...

    Airbnb+JavaScript+代码规范(ES6)共6

    以上只是Airbnb JavaScript代码规范中的一部分内容,实际规范还包括更多细节,如使用一致的比较运算符、避免使用八进制和十六进制字面量、以及对`new`、`typeof`等操作符的使用规则。遵循这样的规范,可以帮助开发者...

    我的javascript学习笔记记录

    ` // 逗号操作符总会返回表达式中的最后一项,即`a=5`。 - **语句**: - **循环语句**: - **`do-while`语句**: 循环体至少被执行一次。 - `do{代码块}while(停止条件);` - **`while`语句**: 只有当条件成立时才...

    阿里前端面试题第二期.pdf

    `~` 操作符是对数字进行按位取反操作,通常用于在 `indexOf` 方法中寻找不存在的子字符串。 #### 解析字符串中的数字与强制类型转换 解析字符串中的数字通常使用 `parseInt` 或 `parseFloat`,而强制类型转换则依赖...

    ES6、ES7、ES8、ES9、ES10新特性一览1

    ECMAScript(简称ES)是JavaScript的标准化规范,由ECMA国际制定,每年都会发布新的版本,引入新的特性和改进。下面将详细讲解ES6、ES7、ES8、ES9以及ES10的主要新特性。 ### ES6(2015) #### 1. 类(Class) ES6...

    JavaScript 代码规范.pdf

    15. 比较操作符–等号(Comparison Operators – Equality) 应当注意相等性(==)和恒等性(===)之间的差异,推荐使用恒等性比较。 16. 块(Blocks) 块是由花括号{}包围的一组语句,可以是函数体、控制结构体等...

    个人总结的一些JavaScript技巧、实用函数、简洁方法、编程细节

    JavaScript中日期对象转换为数值型时,可以直接通过一元加号操作符(+)将Date对象转换为当前时间的Unix时间戳,该时间戳以毫秒为单位。 对于类数组对象(如arguments对象)到数组的转换,可以通过slice方法和call...

    JSON 介绍

    总的来说,JSON是一种重要的数据交换格式,理解并掌握JSON的语法和使用方法对于任何涉及网络通信的开发者来说都至关重要。无论是前端的网页开发,还是后端的服务器编程,JSON都扮演着不可或缺的角色。

    JavaScript引用类型Array实例分析

    2. 使用Array.isArray()方法,这是ECMAScript 5中引入的,可以正确地检测数组,即使这个数组不是由当前代码作用域中的Array构造器创建的。 五、转换方法 数组的转换方法包括: 1. toString()方法会将数组中的每个...

    JavaScript中数组Array方法详解

    ECMAScript 3在Array.prototype中定义了一些很有用的操作数组的函数,这意味着这些函数作为任何数组的方法都是可用的。 1、Array.join()方法 Array.join()方法将数组中所有元素都转化为字符串并连接在一起,返回最后...

    Python程序设计:数据存储技术.pptx

    逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值),其文件以纯文本形式存储表格数据(数字和文本),常见的分隔值为逗号和制表符。 优点:代码简单,只需使用csv模块。很多数据分析库都支持直接...

    Javascript规范

    - **严格的ECMAScript变体**:介绍ECMAScript中引入的一种更加严格的数据类型检查模式。 - **定义**:对语言中的术语进行解释。 **符号约定** - **语法和词汇语法**: - **上下文自由文法**:定义了语言的基本...

Global site tag (gtag.js) - Google Analytics