欢迎光临
我们一直在努力

JS——运算符

一、运算符的概念

运算符也叫操作符,通过运算符可以对一个值或者多个值进行运算,并获取运算结果,常用于实现赋值、比较、执行算术运算等功能。

二、算术运算符(+、-、*、/、%)

(一)注意事项

1、当对非Number类型数据进行运算时,会将这些值转换为Number类型,再进行运算
2、任何值和NaN做运算,都是NaN
3、如果对两个字符串进行加法运算,则会做拼串,将两个字符串拼接为一个字符串,并返回
4、任何值和字符串做加法运算,都会先转换为字符串,再和字符串做拼接的操作

console.log('123' – 1); //122
console.log(true + 1); //2
console.log(null + 1); //1
console.log(undefined + 1); //NaN

console.log(NaN + 1); //NaN

console.log('123' + 'abc'); //123abc

console.log(1 + 2 +'3'); //33
console.log('1' + 2 + 3); //123

(二)表达式和返回值

表达式是由常量或变量及运算符组成的式子,最终会有一个结果返回给我们,称之为返回值。

例如:let b = a + 1;是表达式,b是返回值。

注意:赋值语句不是表达式,例如:let a = 1;是赋值语句,不是表达式。

三、一元运算符(只需要一个运算符)(+、-)

注意事项:

正号:正号不会对数字产生任何影响

           对一个其他的数据类型使用正号,会将其转换为number

负号:负号可以对数字进行取反

           对非number类型的值,会现将其转换为number,再进行运算

console.log(1 + +true); //2
console.log(1 + +"2" + 3); //6

四、递增和递减运算符(++、–)

(一)概念

反复给数字变量添加或减去1,可以用递增(++)和递减(–)运算符完成。

(二)种类

放在变量前面时,称前置递增(递减)运算符;

放在变量后面时,称后置递增(递减)运算符。

(三)注意事项

1、递增和递减运算符都必须和变量配合使用

2、无论是前置还是后置递增(递减)运算符,原变量的值都会自增(自减)1

3、区别:a++的值等于原变量的值(自增前的值),先返回原值,再自加

                ++a的值等于新值(自增后的值),先自加,再返回新值

let c = 3;
console.log(c++); //3
console.log(++c); //5
console.log(c); //5

let c = 3;
console.log(c–); //3
console.log(–c); //1
console.log(c); //1

五、逻辑运算符(!、&&、||)

逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值,后面开发多用于多个条件的判断。

短路运算原理:当有多个表达式时,如果左边表达式已经可以确定结果,那么就不需要运算右边的表达式,一定程度上,可以提高代码的效率。

(一)!  ‘逻辑非’运算

注意事项:

1、非运算就是对一个布尔值进行取反操作

2、对一个值进行两次取反,不会变化

3、对非布尔值进行运算,会现将其转换为布尔值,再取反

4、对一个任意数据类型取反两次,可以将其数据类型转换为布尔值,原理和boolean()函数一样

let flag = !!1;
console.log(flag); //true

案例:判断用户输入的是否是数字?

//检测一个值是否为NaN,用isNaN方法
//如果对一个非number类型的值进行isNaN判断,会先将这个值转换为number,再进行判断

let val = 'true'; //用户输入
let res = isNaN(val); //检测输入是不是NaN
console.log(res);

if(!res){
console.log('用户输入的是数字');
}

(二)&&  ‘逻辑与’运算

1、运算规则(找false)

只要两个值中有一个为false,就返回false

2、注意事项

&& 具有逻辑中断功能,如果第一个值为false,就不用运算第二个值了

console.log(12 && 5); //5
console.log(1 && 0); //0
console.log(undefined && 0); //undefined 逻辑中断
console.log(null && 0); //null 逻辑中断
console.log('hi' && 0); //0
console.log("" && alert("hi")); //"" 逻辑中断

(三)||  ‘逻辑或’运算

1、运算规则(找true)

只要两个值中有一个为true,就返回true

2、注意事项

||  具有逻辑中断功能,如果第一个值为true,就不用运算第二个值了

console.log('' || undefined); //undefined
console.log(true || undefined); //true 逻辑中断
console.log(1 || 2); //1 逻辑中断
console.log(-1 || NaN); //-1 逻辑中断
console.log(NaN || 2); //2

(四)案例

var num = 7;
var str = "我爱你~中国~";

console.log(num > 5 && str.length >= num); //true
console.log(num < 5 && str.length >= num); //false 逻辑中断
console.log(!(num < 10)); //false
console.log(!(num < 10 || str.length == num)); //false

var num = 0;
console.log(123 || num++); //123
console.log(num); //0 逻辑中断

var num = 0;
console.log(123 && num++); //0
console.log(num); //1

赞(0)
未经允许不得转载:171主机测评 » JS——运算符
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址