JS 运算符

  • JS 算数运算符。
  • JS 赋值运算符。
  • JS 比较运算符。
  • JS 逻辑运算符。
  • JS 类型运算符。

运算符 + :

var x=3, 
    y=4;
		z=x + y + 3;    // 数字相加,10

"人数" + x;      //不同数据相加,结果:人数3
x + "人数";      //不同数据相加,结果:3人数

"人数" + x + y;  //不同数据相加,结果:人数34
x + y + "人数";  //不同数据相加,结果:7人数

"<p>" + x + "</p>"; //拼接 html 代码,结果为:<p>3</p>

var str = ""+
"<ul>"+
"	<li><a href=\"a.html\" >A页面</a></li>"+
"	<li><a href=\"b.html\" >B页面</a></li>"+
"</ul>"; //拼接 html 代码

不同数据类型相加时,遵循从左到右计算,因此 x + y + "人数" 是先计算 x + y ,结果为:7人数。
运算符 + 经常用于页面动态添加 html 代码

运算符 ++ :

var x=1;
var y= x++;
x;  // 2
y;  // 1

运算符 -- :

var x=2;
var y= x--;
x;  // 1
y;  // 2

JS - 算数运算符

运算符 描述
+ 加法
- 减法
* 乘法
/ 除法
% 取模(余数)
++ 递加
-- 递减

JS - 赋值运算符

运算符 描述
= 等于
+= x += y 等于 x = x + y
-= x -= y 等于 x = x - y
*= x *= y 等于 x = x * y
/= x /= y 等于 x = x / y
%= x %= y 等于 x = x % y

JS - 比较运算符

比较运算符通常用于条件语句,假设 x=3。

运算符 描述 示例
== 等于 x == 3    结果:true
x == 4    结果:false
x == "3"    结果:true
=== 等值等型 x === 3    结果:true
x === 4    结果:false
x === "3"    结果:false
需要值相等并且类型相等
!= 不相等 x != 3    结果:false
x != 4    结果:true
x != "3"    结果:false
!== 不等值或不等型 x !== 3    结果:false
x !== 4    结果:true
x !== "3"    结果:true
需要值不相等或类型不相等
> 大于 x > 4    结果:false
< 小于 x < 4    结果:true
>= 大于或等于 x >= 4    结果:false
<= 小于或等于 x <= 4    结果:true
? 三元运算符 x > 4? "条件对时,显示这里" : "条件错时,显示这个"

JS - 逻辑运算符

比较运算符通常用于条件语句,假设 x = 3,y = 4。

运算符 描述 示例
&& 逻辑与 ( x>0 && y>0 )    结果:true
|| 逻辑或 ( x>0 || y>0 )    结果:true
! 逻辑非 !( x + y)>5    结果:false

JS - 类型运算符

运算符 描述 示例
typeof 返回变量的类型。 typeof "China"   返回 "string"
typeof 3.14   返回 "number"
typeof NaN   返回 "number"
typeof false   返回 "boolean"
typeof [1,2,3,4]   返回 "object"
typeof {name:'张三', age:25} 返回 "object"
typeof new Date() 返回 "object"
typeof null   返回 "object"

JS - 特殊情况

  • 0 代表false
  • -1 不是false也不是true
  • null 不是false也不是true
var x = 0,
    y = -1,
		z = 3,
		i = true,
		j = false,
		k = null;

x == true;   //false
x == false;  //true

y == false;  //false
y == true;   //false

z == false;  //false
z == true;   //true

i == true;  //true
j == true;  //false

k == true;  //false
k == false; //false

数字中,> 0 的都为 true