JavaScript运算

2019-05-31  本文已影响0人  icon6

1. 算术运算符

+

-

*

/

%

算术优先级 * / % 优先级要高于 + - 无论是 + - * / % 都是左结合性(从左至右计算)

var num1 = 10;
var num2 = 20;
var res1 = num1 + num2;
console.log(res1); // 30
var res2 = num1 - num2;
console.log(res2); // -10
var res3 = num1 * num2;
console.log(res3); // 200
var res4 = num2 / num1;
console.log(res4); // 2
var res5 = num2 % num1;
console.log(res5); // 0
1.1 加法运算的注意点
1.2 减法运算注意点
1.3 乘法注意点
var res1 = 1 * true;
console.log(res1); // 1

var res2 = 1 * null;
console.log(res2); // 0

var res3 = 1 * undefined;
console.log(res3); // NaN

var res4 = 1 * '12';
console.log(res4); // 12

var res5 = 1 * 'abc';
console.log(res5); // NaN
1.4 取模(取余)运算注意点

格式: m % n = 余数

2. 赋值运算符

赋值运算符就是将等号右边的值存储到等号左边的变量中

2.1 赋值运算符

=+=加等于、-=减等于、*=乘等于、/=除等于、%=模等于

// = 
// 把5赋值给res这个变量
var res = 5;

// 加等于
var number = 3;
// 会将等号左边存储的值取出来和右边进行指定的运算, 运算完毕之后再将运算的结果存储到左边
// number += 2 相当于 number = number + 2 那么就是 number = 3 + 2
// -=、*=、/=、%=、也是一样的步骤
number += 2;
console.log(number); // 5
2.2 赋值运算的优先级和结合性
// 由于赋值运算符的结合性是右结合性,所以将会把5赋值给num2然后再将num2中的值赋给num1
var num1, num2;
num1 = num2 = 5;
console.log(num1); // 5
console.log(num2); // 5

3. 自增自减运算符

3.1 自增运算符 ++

可以快速的对一个变量中保存的数据进行+1的操作

var num1 = 2;
//num1 = num1 + 1
// num1 += 1; ===>  num1 = num1 + 1;
// num++; ===> num1 = num1 + 1;
++num1
console.log(num1); // 3
3.2 自减运算符 --

可以快速的对一个变量中保存的数据进行-1的操作

let num2 = 2;
// num2 = num2 - 1;
// num2 -= 1; ===> num2 = num2 - 1
// num2--; ===> num2 = num2 - 1
--num2;
console.log(num2); // 1
3.3 自增自减写在变量前面和后面的区别
// 写在变量的后面
var num = 1;
// 这里拆解成这样 var res = 1 + 1; num++; 
var res = num++ + 1;
console.log(res); // 2
console.log(num); // 2

// 写在变量的前面
var num = 1;
// 这里拆解成这样  ++num; var res = 2 + 1;
var res = ++num + 1;
console.log(res); // 3
console.log(num); // 2

// 在企业开发中不推荐这样写法 var res = a++ + b; // var res = a + b; a++;
var a = 5;
var b = 10;
var res = a + b;
a++;
console.log(res); // 15
console.log(a); // 6

4. 关系运算符

> 大于

< 小于

>= 大于等于

<= 小于等于

== 等于

!== 不等于

=== 全等于

!== 不全等于

关系运算符只有两个返回值,truefasle

关系成立,返回 true

关系不成立,返回 false

console.log(1 > 2); // false
console.log(5 > 2); // true
console.log(1 == 1); // true

关系运算符的注意点

5. 逻辑运算符

逻辑运算符往往用于多个表达式的求值。

5.1 逻辑与(&&

格式: 条件表达式A && 条件表达式B

返回值: true/false

特点:如果有一个条件表达式为假则为假

// true && false 结果为false
console.log((10 > 5) && (1 > 2)); // false
console.log(true && true); // true
console.log(true && false); // false
console.log(false && false); // false
5.2 逻辑或(||

格式: 条件表达式A && 条件表达式B

返回值: true/false

特点:如果有一个条件表达式为真则为真

// true || false 结果为true
console.log((10 > 5) || (1 > 2)); // true
console.log(true || true); // true
console.log(true || false); // true
console.log(false || false); // false
5.3 逻辑非(!

格式: !条件表达式

返回值: true/false

特点:真变假,假变真

// 非true 就是 false
console.log( !true ); // false
// 先计算括号里的 1 > 2 返回 false 取反 变为 true
console.log( !(1 > 2) ); // true
5.4 逻辑运算符的优先级和结合性

逻辑运算符的结合性是左结合性

逻辑与的优先级大于逻辑或

// 左结合性就是从左往右运算 就计算 true && false 结果为 false
var res = true  && false;
console.log(res); // false
// 赋值运算就是右结合性 先运算 1 + 1 返回把结果赋值给 res 这个变量
var total = 1 + 1
console.log(total); // 2
5.5 逻辑运算符的注意点

6. 三元(目)运算符

三元运算符格式:条件表达式 ? 返回结果A : 返回结果B

在三元运算符中如果条件表达式为真,那么返回结果A

在三元表达式中如果条件表达式为假,那么返回结果B

// 10 > 6 返回 true 返回条件A Hello
console.log(10 > 6 ? 'Hello' : 'World'); // Hello 
// 5 > 6 返回 false 返回条件B World
console.log(5 > 6 ? 'Hello' : 'World'); // World
上一篇 下一篇

猜你喜欢

热点阅读