算术运算符、一元运算符、赋值运算符、比较运算符、逻辑运算符

本文详细介绍了JavaScript中的算术运算符,包括加减乘除和取模,以及一元运算符如正号、负号、取反、递增和递减的用法。还讨论了字符串与数字混合运算的情况。此外,提到了delete用于删除对象属性和数组元素,以及typeof用于获取变量类型的用法。最后,文章讲解了比较运算符和逻辑运算符的用法,如&&和||在条件判断中的作用。
摘要由CSDN通过智能技术生成

目录

算术运算符

一元运算符

 “+” 正号 用法:

"-" 负号 用法:

"!" 取反  用法:

“++” 递增    用法

 “--”递减  用法同“++”

delete

typeof

 

赋值运算符

比较运算符

逻辑运算符

 &&

||


算术运算符

 写入这样的代码:

console.log(8 + 4);
console.log(8 - 4);
console.log(8 * 4);
console.log(8 / 4);
console.log(8 % 4);
console.log(8 + '4');
console.log(8 - '4');
console.log(8 * '4');
console.log(8 / '4');
console.log(8 % '4');

在终端查看结果:

 我们发现当两个操作数为数字类型时会进行正常的运算。

当一个操作数为数字字符串时,除了“+”外都会将数字字符串转换为数字进行运算,这里涉及隐式转换,我们后面再讲。 当符号为“+”时,进行的是字符串拼接。

一元运算符

 “+” 正号 用法:

        进行数据相加

        放在数据的前面,就是取正数

        与字符串运算时,就是字符串连接符

        可以将数字字符串或布尔类型等隐式转换成number类型

console.log(10 + 20 );
console.log(10 + '20');
// 取正数
var num = 6;
console.log(+num);
// 在其他数据类型前加+可以将其他数据类型转换为number类型
console.log(+true,typeof +true);
console.log(+'10',typeof +'10');
console.log(+null,typeof +null);
console.log(+undefined,typeof +undefined);
console.log(+'hello',typeof +'hello');
console.log(+{},typeof +{});

// 字符串拼接 需要两个或者两个以上操作数
console.log(1 + 2 + 3 + '4');

输出:

"-" 负号 用法:

        正、负号可以对数字进行取正或取负,其他运算符不能转换

        正、负号可以将字符串数字隐式转换成数字

"!" 取反  用法:

        经常被用作条件判断时的取反操作,类型判断等,还可以用'!'将变量转换为Boolean类型

console.log(!"");
console.log(!2);
console.log(!null);
console.log(!undefined);
console.log(!{});
console.log(![]);

输出:

 

“++” 递增    用法

        通常用于循环语句,动画操作等。

// 递增 ++ 先自增 后赋值
var num = 1;
var a = ++num;
console.log(a,num); 

// 递增 后++ 先赋值 再自增
var num = 1;
var a = num++;
console.log(a,num); 

 “--”递减  用法同“++”

delete

        删除数组或对象中特定索引的值

// delete 可以删除对象属性 删除数组元素
var obj = {
    name:'zhangsan',
    age:12
}
console.log(obj);
// 删除对象属性
delete obj.age;
console.log(obj);

 

// 数组元素可以是其他数据类型
// arr[index] 访问数组元素 index 下标 索引
var arr1 = [true,null,undefined,{name:'zhangsan'},10,function(){},Symbol('name')];
console.log(arr1);
console.log(arr1[4]);
// 删除数组元素
delete arr1[5];
console.log(arr1);

 

typeof

        操作数放到typeof的后面,会返回当前操作数的类型,对于数值类型可以准确返回,对于引用类型,Function会返回'function',其他都只会返回'object'

 

赋值运算符

 

比较运算符

        比较运算符在逻辑语句中使用,以判定变量或值是否相等。通常用于条件判断语句中。

        比较运算符的优先级低于算术运算符,高于赋值运算符运算结果一般都为boolean。

 

// 进行引用数据类型== ===比较是一样的 只比较引用地址 
var obj ={
	name:'zhangsan',
	age:12
}
var obj1={
	name:'zhangsan',
	age:12
}
var obj2 = obj1;
console.log(obj == obj1);
console.log(obj === obj1);
console.log(obj2 === obj1);

console.log(10!=10);
console.log('9'!=10);
console.log('9'!==10);
console.log(10!==10);

console.log(10>9);
console.log('9'>10);
console.log(1 > true); //false
console.log(1 >= true); //true
console.log(1 > '0');//true
console.log(1 > null);//true
console.log(-9/0 > 1);  false
console.log(-9/0 < 1);  true
console.log('-9/0' > 1);//false //无穷字符串/NaN和数字进行比较 false
// 正无穷数字 和数字比较 表达式成立true  表达式不成立false

console.log('134565353' > '5');//false
console.log('134545353' > +'5');//true

console.log('1' < '5'); //true
console.log('11' < '5'); //true
console.log('be' > 'b'); //true
console.log('be' < 'b'); //false

 

逻辑运算符

 &&

        同真才真 有假就假

        如果两个操作数第一个是假的 返回第一个操作数 null "" NaN false undefined 假的操作数

        如果两个操作数第一个是真的 返回第二个。

console.log(null && 'hello');
console.log("" && 'hello');
console.log(false && 'hello');
console.log(undefined && 'hello');
console.log('hello'/10 && 'hello');
console.log('hello' && 'world');

var a = 10,b=5;//并且 既满足前面表达式 又满足后面表达式
if(a>=10&&b<6){
	console.log('满足条件')
}else{
	console.log('不满足条件')
}
// || 或者 满足其中一个条件 就能进入条件语句
if(a<10 || b>3){
	console.log('满足条件')
}else{
	console.log('不满足条件')
}

 

||

        有真就真 同假才假        

        或者操作数 如果第一个操作数是假的 返回第二个操作数

        如果第一个操作数是真的 返回第一个操作数

console.log(null || 'hello');
console.log('hello' || null);


console.log(!null);//true
console.log(!undefined); //true
console.log(!'');//true
console.log(!100); //false
console.log(!'abc'); //false
console.log(!100/'hello'); //NaN
console.log(!'100/hello'); //false
console.log(!(100/'hello'))

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学前端的狗头苏丹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值