运算符
——运算符一共分为六种;
1.算数运算符
2.比较运算符
3.逻辑运算符
4.赋值运算符
5.字符串衔接运算符
6.前提运算符
——运算符的观点;
JavaScript供应的一组用于操纵数据值的运算符(操纵符)。这些运算符能够根据作用的差别或许操纵变量数目的差别举行分类。
——运算符的优先级别;
JavaScript语言中的运算符,假如在庞杂的表达方式中运用,起首我们要了解运算符的优先级别。也就是说先盘算哪一个,再盘算哪一个的原理。就跟数学中的加减乘除类似。假如不知道运算符的优先级别,那末极可能致使末了的盘算效果毛病。
我们没有必要去记运算符的优先级别,只需记着症结的小括号级别是最高的就能够。现实开辟中只需运用小括号包裹的运算符,就先去盘算包裹的运算符;
运算符具有盘算的优先级别
1.先盘算优先级别高的运算符
2.运算符的级别雷同,从左至右的盘算
运算符中优先级别最高的是“()”
优先盘算的表达式应用"()"将其包裹起来
console.log(100 + 200 - 150 * 3);
console.log(100 + 200 % 3);
console.log(2 * 200 % 3);
var num = 10;
console.log(5 + ++num);
1.算数运算符
算数运算符的基础操纵比较简单
-假如运算数中的一个或许两个是字符串范例,那末JavaScript会自动转换成数字值,然后再举行盘算。
假如运算数中的一个或两个是字符串范例,然则个中的字符不是数字时,JavaScript会自动转换成数字值举行盘算,获得的效果是NaN.(任何一个运算数是NaN,效果都邑是NaN)。
布尔的false和true值都邑默许转换为0和1举行盘算。
var num = 100;
var str1 = '运算符';
var str2 = '200';
var boo = true;
加法
var result1 = num + 300;
console.log(result1);// 400
假如字符串举行加法盘算 -> 字符串衔接运算符(拼串)
var result2 = str1 + 300;
console.log(result2);
console.log(typeof result2);// string
var result3 = str2 + 300;
console.log(result3);// 200300
假如布尔范例举行加法盘算 -> 将布尔范例转换为数字值,再举行加法盘算
var result4 = boo + 300;
console.log(result4);// 301
减法 - 先将其他范例转换为number范例,再举行盘算
var result5 = num - 100;
console.log(result5);// 0
假如字符串举行减法盘算的话 -> 将字符串范例转换为数字值,再举行减法盘算
var result6 = str1 - 100;
console.log(result6);// NaN
var result7 = str2 - 100;
console.log(result7);// 100
假如布尔范例举行减法盘算 -> 将布尔范例转换为数字值,再举行减法盘算
var result8 = boo - 100;
console.log(result8);// -99
2.比较运算符
JavaScript语言中的比较运算符,主如果用来比较两个操纵数的大小,相称。
全即是不全等,不仅要比较直,还要比较范例。
1.number范例
console.log(10 > 11);// false是毛病的,10不可能大于11
console.log(11 > 10);// true是准确的,11本来就大于10
console.log(10 >= 10);// true是准确的,10本身就大于即是10
2.boolean范例 - 将boolean范例转换为number范例
console.log(true > false);// true是准确的,true示意1、false示意0
console.log(true > 0);// true是准确的,true示意1,所以大于0
3.string范例 - a.英文;b.中文
英文或中文 -> 将文本转换成 Unicode 码 - 对应具有数字值
英文单词 -> 从左至右的顺次比较字母 Unicode 码的大小
console.log('a' < 'b');// true
console.log('a' > 'A');// true
console.log('abc' > 'cba');// false
console.log('abc' > 'acd');// false
console.log('我' > '你');// true
相称与不等比较
1.number范例
console.log(10 == 10);// true
console.log(10 == 11);// false
2.boolean范例
console.log(true == true);// true
console.log(true == false);// false
console.log(true == 1);// true
3.string范例
console.log(‘a’ == ‘a’);// true
console.log(‘a’ == ‘b’);// false
(只比较值,而不比较范例)
console.log(‘100’ == 100);// true
相称比较运算符
与赋值运算符的区分
- 赋值运算符(=)
- 相称比较运算符(==)
不等比较运算符
- 标记是(!=)
- 不是(<>)
isNaN()函数
isNaN函数用于推断其参数是不是为NaN。
平常多用于检测运用范例转换函数举行数据范例转换后的效果是不是为正当的数字值。
(NaN与任何值包含本身举行比较,末了效果都是false)
作用 - 推断当前值是不是为 NaN
true - 示意当前值是 NaN(不是一个数字值)
false - 示意当前值不是 NaN(不是一个数字值)
console.log(isNaN(100));// false
console.log(isNaN(Number('wolongxueyuan')));// true
var result = 100/0;
console.log(result);// Infinity
isFinite()函数
作用 - 推断当前值是不是为无穷大
false - 示意当前值是无穷大
true - 示意当前值是有限数值
console.log(isFinite(result));// false
逻辑运算符
逻辑运算符是用于布尔范例的盘算。
把逻辑与运算的两个操纵数,转换为布尔范例。
- 当左侧的操纵数为true,效果是右侧操纵数的值
- 当左侧的操纵数为false,效果是左侧操纵数的值
逻辑或运算符
console.log(true || true);// true
console.log(true || false);// true
console.log(false || true);// true
console.log(false || false);// false
将逻辑与运算符的两个操纵数,转换为布尔范例
-当左侧的操纵数为true时,效果为左侧操纵数的值
- 当左侧的操纵数为false时,效果为右侧操纵数的值
console.log(100 || 1);
console.log(1 || 0);
console.log(0 || 1);
console.log(0 || 0);
console.log(true || true);
console.log(true || false);
console.log(false || true);
console.log(false || false);
逻辑短路
逻辑与运算符
- 逻辑与运算符前面是false,效果都将返回逻辑与运算符前面的值
- 逻辑与运算符前面是true,效果都将回逻辑与运算符背面的值
逻辑或与运算符
- 逻辑或运算符前面是false,效果都将返回逻辑或运算符背面的值
- 逻辑或运算符前面是true,效果都将返回逻辑或运算符前面的值
4.前提运算符
var score = 55;
嵌套前提运算符
长处 - 扩大了前提运算符本身的盘算才能
瑕玷
-可读性比较差
-机能跟着嵌套的层级越多越差
发起 - 最多不要凌驾三层嵌套
var result = score > 90 ? '优异' : (score > 80 ? '优越' : (score > 60 ? '合格' : '不合格'));
console.log(result);