本文主要是介绍Javascript运算符——算术运算符、三元运算符、自增 与 自减、比较运算符、逻辑运算符、= 与== 与 === 的区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
1、算术运算符
2、三元运算符
3、自增 自减 / 递增 递减
4、比较运算符
5、逻辑运算符
6、双非 !! 作用讲解
运算符优先级
= 与== 与 === 的区别
1、算术运算符
1. 加号 +(可用于字符串拼接)
加号两侧同时为数字,进行加法运算
加号两侧任何一侧为字符串,表示字符串拼接 (符号两侧要用空格隔开)
2.减号 - 3.乘号 * 4.除号 / 5.取余 %(只有+号会进行字符串的拼接,其余不会)
在进行减 乘 除 取余运算时:
符号两侧同时为数字进行对应的算术运算,若其中有一侧为非数字,则运算时会把该侧转换为数字,转换成功,进行对应的算术运算,转换失败,得到NaN(Not a Number非数字)
<script>/*+ 加- 减* 乘/ 除% 取余数*/console.log(2 + 3);console.log(2 - 3);console.log(2 * 3);console.log(2 / 3);console.log(3 % 2);console.log(4 % 2); //余数0</script>
- += 加等
- -= 减等
- *= 乘等
- /= 除等
- %=
var a = 10;a = a + 2;a += 2; // 输出12 和a=a+3结果相等,加等
//其他几个用法相同
字符拼接问题:
console.log(2 + 4 + "=" + 6); //6=6console.log(4 + "=" + 3 + 1); //4=31 从左往右依次运算,先乘除,后加减,有括号先算括号内的console.log(4 + "=" + (3 + 1)); //4=4
2、三元运算符
语法: 条件 ?语句1 :语句2;
条件成立执行语句1,条件不成立执行语句2
<script>// 举例:var a = prompt('请输入数字'),b = prompt('请输入数字');a > b//条件? document.write(a + b)//语句1: document.write(b + a);//语句2//举例var num = prompt("请输入一个数字", 0);num % 2 == 0 ? console.log(num + "是偶数") : console.log(num + "是奇数");</script>
3、自增 自减 / 递增 递减
递增(++)
递减(- -)
放在变量前面时,我们称为前置递增(递减)运算符
放在变量后面时,我们称为后置递增(递减)运算符
注意:递增和递减运算符必须和变量配合使用。
①前置递增运算符
++num num = num + 1
使用口诀:先自加,后返回值
var num = 10; alert (++num + 10); // 21
②后置递增运算符
num ++ num = num +1
使用口诀:先返回原值,后自加
var num = 10; alert(10 + num++); // 20
③小结
- 前置递增和后置递增运算符可以简化代码的编写,让变量的值 + 1 比以前写法更简单
- 单独使用时,运行结果相同,与其他代码联用时,执行结果会不同
- 开发时,大多使用后置递增/减,并且代码独占一行
4、比较运算符
除恒等外,其他比较过程都会进行类型转换 (但两侧同为字符串时不能自行完成类型转换)
- 大于>
- 小于<
- 小于等于<=
- 大于等于>=
- 等于==
- 不等于!=
- 恒等===
返回布尔值
console.log(5 > 8); //falseconsole.log(5 < 8); //trueconsole.log(5 >= 8); //false console.log(5 <= 8); //trueconsole.log(5 == 5); //trueconsole.log(5 == "5"); //true 比较过程中也会进行类型转换console.log(5 === "5"); //false恒等,值和类型都要相等,不会进行类型转换console.log(1 == true); //trueconsole.log(null == undefined); //trueconsole.log(null == 0); //falseconsole.log(0.1 + 0.2 == 0.3); //false
5、逻辑运算符
- 逻辑与 && 符号两侧同时为真,才为真,其他情况均为假
- 逻辑或 || 符号两侧同时为假才为假,其他情况均为真
- 逻辑非 !非真即假 非假即真
- !!双等号可进行类型转换 两个!!就可以将变量或属性转化为对应布尔值。
6、双非 !! 作用讲解
javascript中的!!是逻辑"非非",即是在逻辑“非”的基础上再"非"一次。通过!或!!可以将很多类型转换成bool类型,再做其它判断。
使用javascript时,有时会在变量前面加上两个感叹号,这样做表示什么含义呢?Javascript中,!表示运算符“非”,如果变量不是布尔类型,会将变量自动转化为布尔类型,再取非,那么用两个!!就可以将变量转化为对应布尔值。
详情参考http://t.csdn.cn/0VkoT
//逻辑与&& 符号两侧同时为真,才为真,其他情况均为假//短路console.log(true && true); //trueconsole.log(true && false); //falseconsole.log(false && false); //false//逻辑或|| 符号两侧同时为假才为假,其他情况均为真console.log(true || true); //trueconsole.log(true || false); //trueconsole.log(false || false); //false// 逻辑非 ! 非真即假 非假即真console.log(!true); //falseconsole.log(!false); //true
运算符优先级
优先级 运算符 顺序 1 小括号 () 2 一元运算符 ++ - - ! 3 算数运算符 先 * / % 后 + - (先乘除后加减) 4 关系运算符 > >= < < 5 相等运算符 ==、 != 、 ===、 !== 6 逻辑运算符 先 && 后 || 7 赋值运算符 =(赋值运算符优先级最低)
= 与== 与 === 的区别
=表示赋值
== 表示相等 (值相等)
===表示恒等(类型和值都要相等)
js在比较的时候如果是 == 会先做类型转换,再判断值得大小,如果是===类型和值必须都相等。
这篇关于Javascript运算符——算术运算符、三元运算符、自增 与 自减、比较运算符、逻辑运算符、= 与== 与 === 的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!