运算符、自增运算符和自减运算符、逻辑运算符和或运算符、赋值运算符、关系运算符、相等运算符、条件运算符
一元运算符:
+正号 :正号不会对数字产生任何影响
- 负号 :符号可以对数字进行符号的取反
对于非number类型的值,它会将先转换为Number,然后再运算
-可以对一个其他的数据类型使用+,来将其转换为number,其原理和number一样
如:var a = 123;
a = +a 值为123
a = -a 值为-123
a = true; 值为 1
var result = 1 +"2" +3 值为 123
var result = 1 + +'2' + 3 值为 6
自增自减:
自增++ :通过自增可以使变量在自身的基础上增加1
自增分为前置++ 和后置++
前置++表示为 先加后赋值
后置++表示为 先赋值后加
自减 -- 通过自减可以使变量在他本身的基础了减一
自减分为两种 ;c-- --c
前置自减 先减后赋值
后置自减 先赋值后减
var a =1;
a = a++ a = 1
a = ++a a = 2
d = 20;
d = d ++
console.log("d = " + d)
e = d++
d = e;
console.log("d=" + d)
他们两个的结果都一样
逻辑运算符:
有三中逻辑运算符
! 取反
变真为假,便假为真;
&& 遇false为false 只要有一个为false则返回的结果就是fales
|| 遇true为true 只有有一个true则返回的结果的就是true
与或运算:
在进行与或运算的时候,会将不是布尔值的转换为布尔值,然后再把其原类型转换回去
与计算
var result = 1 && 2 2
var result = 0 && 1 0
var result = NaN && 0 NaN
console.log("result" + result)
或计算
var result = 2|| 1 2
result = 2 ||NaN 2
result = NaN || 0 0
result = "" || "hello" hello
result = -1 || "你好" -1
赋值运算符:
a += a a = a+a
a -+a a = a-a
a *=a a =a*a
a /=a a = a/a
a %=a a = a%a
关系运算符:
>= 判断符号左侧的值是否大于或等于右侧的值
> 判断符号左侧的值是否等于右侧的值
< 判断符号左侧的值是否大于右侧的值
<= 判断符号左边的值是否大于或等于右侧的值
非数值对比:如果是非数值进行比较的时候,会将其转换为数字,然后在将其进对比
如果两测都是字符串是,不会将其转换为数字,而是将其转换为unicode编码
相等运算符:
NaN 和任何数都不想等,包括他本身,可以使用isNaN查看这个元素是不是NaN
==
用来比较两个值是否相等,如果相等就返回true 不相等就返false
使用==来做相等运算
当使用==来比较两个值的时候,如果值得里欸选类型不同,则会自动进行类型转换,将其转换为相同的类型,然后在比较不相等
不相等用来判断连个值是否不相等 ,如果不相等返回true否则返回false
使用!=来表示不等于
不相等也会对变量进行自动的类型转换,如果转换后相等他也会返回false
var a =1
console .log( a == "1") true
console.log(a != 2) true
console.log(null == 0 ) false
console.log(NaN == "1") false
console.log(NaN == undefined) false
console.log(NaN == NaN) false
全等 ===
用来判断两个值是否相等,他和相等类似,唯一不同的是,不会做类型转换
不全等!==
用来判段两个值是否不全等,和不等类似,不同的是,他不做类型转换 ,如果两个值的类型不同,直接返回true
var b=5;
console.log(b === "5") false
console.log(b !=="5") false
条件运算符
语法: 条件表达式 : 语句1 :语句2
如果条件的表达式求值结果是一个非布尔值,会将其转换为布尔值然后在计算
true ? alert("语句1") : alert(语句2)
var a = 20;
var b = 30;
a > b ? alert("a大") : alert("b大")
unicode编码
在js使用的时候,我们使用的是十六进制的数 console.log(\u2FB9)
在页面中使用的时候,我们使用的是十进制 console.log(#xe698)
推荐阅读
-
运算符、自增运算符和自减运算符、逻辑运算符和或运算符、赋值运算符、关系运算符、相等运算符、条件运算符
-
js:一元运算符、自增和自减、逻辑运算符、赋值、运算符、关系运算符、Unicode 编码、相等运算符、条件运算符、运算符优先级
-
2019-06-06 运算符、一元运算符、自增和自减运算符、自增和自减链接、逻辑运算符、和或运算符、赋值运算符、关系运算符、Unicode。
-
js:一元运算符、自增和自减、逻辑运算符、赋值运算符、关系运算符、Unicode 编码、相等运算符、条件运算符、运算符优先级
-
一元运算符、自增和自减、逻辑运算符、和或运算、赋值运算符、关系运算符、Unicode 编码、
-
布尔转换、一元运算符、自增、自减、逻辑运算符、赋值运算符、关系运算符
-
运算符, 一元运算符, 自增, 自减
-
Java 自加和自减运算符基础知识
-
Java 位运算符详细示例 - 与 (&)、非 (~)、或 (|)、不同或 (^) 位运算符主要用于二进制,包括和"、"非"、"或"、"异或"。从表面上看,它似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符进行逻辑运算的,而位运算符主要是针对两个二进制数进行逻辑运算的。下面将详细介绍每种位运算符。
-
了解自增运算符和 a+++++b, a++ + ++