美文网首页
review javascript 27:JS运算符

review javascript 27:JS运算符

作者: 蝴蝶结199007 | 来源:发表于2017-08-01 11:39 被阅读8次

JavaScript 运算符主要包括:
· 算术运算符
· 赋值运算符
· 比较运算符
· 三元运算符
· 逻辑运算符
· 字符串连接运算符

(1)算术运算符

运算符 描述 实例 运行结果
+ y = 2+1 3
- y = 2-1 1
* y = 2*1 2
/ 除,返回结果为浮点类型 y = 2/1 2
% 求余,返回结果为浮点类型;要求两个操作数均为整数 y = 6%4 2
++ 递加,分为前加和后加,对布尔值和 null 将无效 y=2; y++; ++y
-- 递减,与递加同理 y=2; y--; --y

对于前加和后加,执行后的结果都是变量加1,其区别在于执行时返回结果不一样,递减同理。参考下面两个例子:

    var a=3;
    console.log(a--);  //3
    console.log(a);    //2
    console.log(a--);   //2

运算符中的 “+” 号,既可以作为算术的加法,也可以作为字符串的连接符:

// 加法
1 + 1 // 2
true + true // 2
1 + true // 2

// 字符串连接
'1' + '1' // "11"
'1.1' + '1.1' // "1.11.1"

1、如果运算子是对象,先自动转成原始类型的值(即先执行该对象的valueOf方法,如果结果还不是原始类型的值,再执行toString方法;如果对象是Date实例,则先执行toString方法)。
2、两个运算子都是原始类型的值以后,只要有一个运算子是字符串,则两个运算子都转为字符串,执行字符串连接运算。
3、否则,两个运算子都转为数值,执行加法运算。

'1' + {foo: 'bar'} // "1[object Object]"
'1' + 1 // "11"
'1' + true // "1true"
'1' + [1] // "11"

上面的例子中,左侧为字符串,则整个算术式为字符串相加;
这种由于参数不同,而改变自身行为的现象,叫做“重载”(overload)。

'3' + 4 + 5 // "345"
3 + 4 + '5' // "75"

由于字符串所在的位置不同,则执行结果不同。
加法运算符会将其他类型的值,自动转为字符串,然后再执行连接运算。

1 - '2' // -1
1 * '2' // 2
1 / '2' // 0.5

加法运算符以外的其他算术运算符(比如减法、除法和乘法),都不会发生重载。它们的规则是:所有运算子一律转为数值,再进行相应的数学运算。


(2)赋值运算符

赋值表达式(=) -----> 不具有比较作用
严格相等运算符(===)
相等运算符(==)

看一个例子:

var x = 1;
var y = 2;
if (x = y) {        //x==y
  console.log(x);
}

原意是当x等于y的时候,才执行相关语句。但是,这里将“严格相等运算符”写成“赋值表达式”,结果变成了将y赋值给x,然后条件就变成了,变量x的值(等于2)自动转为布尔值以后,判断其是否为true。


(3)比较运算符


参考学习:JavaScript中的6种运算符总结
JavaScript标准参考教程----运算符

相关文章

  • review javascript 27:JS运算符

    JavaScript 运算符主要包括:· 算术运算符· 赋值运算符· 比较运算符· 三元运算符· 逻辑运算符· 字...

  • 2020-03-16

    JavaScript 初识 《① JS 速览——进入 JS 的世界》[编号:js_01] 《② 运算符、运算符优先...

  • Js学习笔记_02 (运算符)

    Js的运算符 JavaScript 算术运算符(+ ,-, *, /, %, ++, --)1.取模运算的结果符号...

  • JS技巧

    # JS技巧 ** ## 三元运算符 新手 ```javascript let hungry = true; le...

  • JavaScript基础整理(一)

    数据类型null 和 undefined== 和 ===JS 比较对象和基本类型!! 运算符JavaScript ...

  • JavaScript自学笔记

    js作用、基础语法和格式省略,可以百度 第3课 标识符 算数运算符 赋值运算符 JavaScript核心篇 6、...

  • JS-运算符

    JS的算术运算符 JavaScript的算数运算和C语言几乎一样与C语言不同的是: 在JavaScript中整数除...

  • 面试题

    1.JavaScript概述(js是什么?) 2.运算符的优先级 3.js的三大结构 4.break、contin...

  • Javascript运算符

    JavaScript 运算符 JavaScript 运算符用于赋值,比较值,执行算术运算等。 JavaScript...

  • review javascript 26:JS 事件委托

    一直以来,对js的一些概念还是不清晰的,很多都没有搞明白,今天无意间在群里见他们提起事件委托,所以查找了一些资料,...

网友评论

      本文标题:review javascript 27:JS运算符

      本文链接:https://www.haomeiwen.com/subject/ctmrlxtx.html