JavaScript高级程序设计(4)
第3章 语言基础(3)操作符
#### 3.5.1 一元操作符 >只操作一个值的操作符叫一元操作符(unary operator)。 1. 递增/递减操作符 ```javascript ++ A; A ++; -- A; A --; ``` 2. 一元加和减 ```javascript A = +A; A = -A; ``` #### 3.5.2 位操作符 1. 按位非:波浪符(~)表示 2. 按位与:和号(&)表示 3. 按位或:管道符(|)表示 4. 按位异或:脱字符(^)表示 5. 左移:两个小于号(<<)表示, 6. 有符号右移:两个大于号(>>)表示, 7. 无符号右移: 3 个大于号表示(>>>), #### 3.5.3 布尔操作符 1. 逻辑非:由一个叹号(!)表示 2. 逻辑与:由两个和号(&&)表示 3. 逻辑或:由两个管道符(||)表示 ```javascript console.log(!false); // true console.log(!"blue"); // false console.log(!0); // true console.log(!NaN); // true let result = true && false; let result = true || false; ``` #### 3.5.4 乘性操作符 1. 乘法操作符:由一个星号(*)表示 - 如果有任一操作数是 NaN,则返回 NaN - 如果是 Infinity 乘以 0,则返回 NaN。 - 如果是 Infinity 乘以非 0的有限数值,则根据第二个操作数的符号返回 Infinity 或-Infinity。 - 如果是 Infinity 乘以 Infinity,则返回 Infinity。 2. 除法操作符:由一个斜杠(/)表示 - 如果是 Infinity 除以 Infinity,则返回 NaN。 - 如果是 0 除以 0,则返回 NaN。 - 如果是非 0 的有限值除以 0,则根据第一个操作数的符号返回 Infinity 或-Infinity。 - 如果是 Infinity 除以任何数值,则根据第二个操作数的符号返回 Infinity 或-Infinity。 3. 取模操作符:由一个百分比符号(%)表示 - 如果被除数是无限值,除数是有限值,则返回 NaN。 - 如果被除数是有限值,除数是 0,则返回 NaN。 - 如果是 Infinity 除以 Infinity,则返回 NaN。 - 如果被除数是有限值,除数是无限值,则返回被除数。 - 如果被除数是 0,除数不是 0,则返回 0。 #### 3.5.5 指数操作符 - ECMAScript 7 新增了指数操作符,Math.pow()现在有了自己的操作符\**,结果是一样的: ```javascript console.log(Math.pow(3, 2); // 9 console.log(3 ** 2); // 9 console.log(Math.pow(16, 0.5); // 4 console.log(16** 0.5); // 4 ``` - 不仅如此,指数操作符也有自己的指数赋值操作符\**=,该操作符执行指数运算和结果的赋值操作: ```javascript let squared = 3; squared **= 2; console.log(squared); // 9 ``` #### 3.5.6 加性操作符 1. 加法操作符:(+) - 如果有任一操作数是 NaN,则返回 NaN; - 如果是 Infinity 加 Infinity,则返回 Infinity; - 如果是-Infinity 加-Infinity,则返回-Infinity; - 如果是 Infinity 加-Infinity,则返回 NaN; - 如果两个操作数都是字符串,则将第二个字符串拼接到第一个字符串后面; - 如果只有一个操作数是字符串,则将另一个操作数转换为字符串,再将两个字符串拼接在一起。 2. 减法操作符:(-) - 如果是 Infinity 减 Infinity,则返回 NaN。 - 如果是-Infinity 减-Infinity,则返回 NaN。 - 如果是 Infinity 减-Infinity,则返回 Infinity。 - 如果是-Infinity 减 Infinity,则返回-Infinity。 - 如果有任一操作数是字符串、布尔值、null 或 undefined,则先在后台使用 Number()将其转换为数值 #### 3.5.7 关系操作符 - 关系操作符执行比较两个值的操作,包括小于(<)、大于(>)、小于等于(<=)和大于等于(>=),用法跟数学课上学的一样。这几个操作符都返回布尔值。 #### 3.5.8 相等操作符 1. 等于和不等于:(==)(!=) 2. 全等和不全等:(===)(!==)  #### 3.5.9 条件操作符 ```javascript variable = boolean_expression ? true_value : false_value; let max = (num1 > num2) ? num1 : num2; ``` #### 3.5.10 赋值操作符 - 见到赋值(=) - 乘后赋值(*=) - 除后赋值(/=) - 取模后赋值(%=) - 加后赋值(+=) - 减后赋值(-=) - 左移后赋值(<<=) - 右移后赋值(>>=) - 无符号右移后赋值(>>>=) #### 3.5.11 逗号操作符 - 逗号操作符可以用来在一条语句中执行多个操作,如下所示: ```javascript let num1 = 1, num2 = 2, num3 = 3; ```
顶部
收展
底部
[TOC]
目录
第1章 JavaScript简介
第2章 在 HTML中使用JavaScript
第3章 语言基础(1)语法变量
第3章 语言基础(2)数据类型
第3章 语言基础(3)操作符
第3章 语言基础(4)语句
第4章 变量、作用域与内存
第5章 基本引用类型
第6章 集合引用类型
第7章 迭代器与生成器
第8 章对象、类与面向对象编程
第9章 代理与反射
第10章 函数
第11章 期约与异步函数
第12章 BOM
第13章 客户端检测
第14章 DOM
第15章 DOM 扩展
第16章 DOM2 和 DOM3
第17章 事件
第18章 动画与 Canvas 图形
第19章 表单脚本
第20章 JavaScript API
第21章 错误处理与调试
第22章 处理 XML
第23章 JSON
第24章 网络请求与远程资源
第25章 客户端存储
第26章 模块
第27章 工作者线程
第28章 最佳实践
相关推荐
WebSocket