JS中运算符号大部分和java中的运算符一样,我们在这里分析一下特殊的运算符号
一、关于/%
JS中,数字类型都是number,能除尽,则默认结果就是一个整数,不能除尽,结果默认就是浮点
JS中如果出现除零,那么结果是 infinity,而不是报错
除零不会出现异常,而是出现 Infinity
和0取余数,出现NaN not a number 不是一个数字
二、关于+
+
同时也是连接运算符,看两端的变量类型;
1、如果都是number,那么就是算数中的加法;
2、如果有字符串,那么就是连接符号;
3、如果是布尔类型和number相加,那么会将true转化为1;将false 转化为0;
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
var a=1;
var b="1"
var c=true
var d=false
console.log(a+b) //11
console.log(a+c) //2
console.log(a+d) //1
</script>
</head>
<body>
</body>
</html>
三、关于 == 等值符
先比较类型,如果类型一致,再比较内容,如果类型不一致,会尝试转换为number再比较内容
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
var a=1;
var b="1"
var c=true
var d="true"
console.log(a==b) //t
console.log(a==c) //t
console.log(a==d) //f
console.log(b==c) //t
console.log(b==d) //f
console.log(c==d) //f
</script>
</head>
<body>
</body>
</html>
四、关于=== 等同符
数据类型不同 直接返回false
如果类型相同 才会比较内容
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
var a=1;
var b="1"
var c=true
var d="true"
console.log(a===b) //f
console.log(a===c) //f
console.log(a===d) //f
console.log(b===c) //f
console.log(b===d) //f
console.log(c===d) //f
var e="kobe"
var f="kobe"
console.log(e===f) //t
</script>
</head>
<body>
</body>
</html>