zoukankan      html  css  js  c++  java
  • JS操作符

    只记录自己比较容易忘记的概念和内容,方便以后查阅。原文请参考:http://javascript.info/operators

    二元运算符(+/-*)

    对于 + 运算符,只要有一个操作数是字符串,将会另外一个也转为字符串,如:
    The rule is simple: if either operand is a string, the other one is converted into a string as well

    let s = 'my'+'string';
    alert(s); // mystring
    alert('1'+2); //'12'
    alert(2+'1'); //'21'
    alert(2+2+'1'); //'41' and not '221'
    

    其他运算符(/-*)只会对数字进行运算,所以它们会先将非数字的操作数转为数字,然后再运算,如:

    alert(2-'1'); //1
    alert('2'-'1'); //1
    alert('3'-1); //2
    alert('5'/2); //2.5
    alert('3'*3); //9
    

    一元运算符(+)

    对于一元运算符 + ,当操作数为数字时,不会操作数字。当不是数字时,将会转为数字,相当于Number(…),如:
    The unary plus or, in other words, the plus operator + applied to a single value, doesn’t do anything to numbers. But if the operand is not a number, the unary plus converts it into a number.

    let x = 1;
    alert(+1); // 1
    let y = -2;
    alert(+y); // -2
    alert(+true); // 1
    alert(+''); // 0
    alert(+'3'++'4'); // Uncaught SyntaxError: Invalid left-hand side expression in postfix operation
    alert(+'3'+ +'4'); // 7 一元运算符优先级高于二元运算符
    

    赋值操作符(=)

    赋值运算优先级低于二元运算。赋值运算可以链式执行,且会返回最左端变量的值,如:
    The call x = value writes the value into x and then returns it.

    let a, b, c, d;
    a = b = c = 2+2;
    alert(a); // 4
    alert(b); // 4
    alert(c); // 4
    alert(d = 2+5); //7 先将2+5的值赋值给d,然后返回d的值传给alert
    

    求幂运算符(**)

    求幂运算符是ES6新增的特性,a**b表示将a进行b次相乘,返回相乘后的结果。如:

    alert(2**3); // 8 2的3次方
    alert(4**5); // 1024 4的5次方
    alert(8**(1/3)); // 2 8的1/3次方
    

    逗号运算符( , )

    逗号运算符最常见在被压缩后的js代码中。 逗号运算会从左到右计算每个表达式的值,最后返回最右边一个的值,如:

    let a = (1+2, 3+4); //将a赋值给一个逗号表达式
    alert(a); // 7 a取最右边的表达式的值
    

    逗号表达式的优先级很低,比赋值运算还要低,如:

    let a = 1+2, 3+4;
    alert(a); // 3 先运算1+2=3,再将3赋值给a,忽略3+4,再将a的值传给alert
    let s = a=1+2,3+4;
    alert(s); // 7 传给alert的值是逗号表达式(3,7)的返回值,所以相当于alert(7)
    

    单词

    operandn. [计] 操作数;[计] 运算对象
    operator n. 操作符
    unary n. 一元操作符
    binary n. 二元操作符
    terminology n. 术语,术语学;用辞
    operator precedence 英 /ˈpresɪdəns/ n. 运算符优先级

    句子

    1. Let’s grasp some common terminology. 让我们掌握一些常用术语。
  • 相关阅读:
    ajax标准写法
    javascript序列化表单追加参数
    javascript获取url参数的方式
    jmeter实现跨线程组传递参数
    代码扫描工具SonarQube+Scanner的基本安装与应用
    给定一个非空正整数的数组,把数值与出现的次数存在一个新的字典中,并按照出现的次数排序
    定义一个函数,实现整数列表中偶数在左边,奇数在右边(不借助其它列表)
    python-leetcode1在一个整数数组中找出两数之和等于目标值,并把两数下标存在list中返回
    python根据key对字典进行排序
    python实现对浮点型的四舍五入
  • 原文地址:https://www.cnblogs.com/ywxgod/p/11696170.html
Copyright © 2011-2022 走看看