JavaScript-3-进制与运算符详解

1、其他进制数字(了解)
输出均为十进制

16进制数字,以0x开头
a = 0x10;
8进制数字,以0开头
a = 070;
2进制,以0b开头(不是所有的浏览器都支持)
a = 0b10;
*像“070”这种字符串,有些浏览器会当成8进制解析,,有些会当成10进制
a = parseInt(a,10);传递两个参数,第二个指定进制

2、运算符(操作符)
多一个值和多个值进行运算,并获得运算结果
例typeof(它会将字符串的形式返回)

算数运算符:
当对非Number值进行运算时,会将这些值转换为Number然后再进行运算
任何值和NaN做运算都得NaN
+ 加法运算,返回结果
两个字符串进行加法运算,会进行拼串操作(双引号不能换行,但加号可以换行)
请添加图片描述请添加图片描述
任何值和字符串做加法运算都会将转换为字符串,再进行运算
隐式:利用此特点,将任意数据转换为String,+一个“”即可
“c = ”+c——————> c=123
— 减法
* 乘法
/ 除法
任何值做减、乘、除运算时,都会自动转换为Number
隐式方法:-0、*1、/1转换为Number
% 取余操作
一元运算符,只需要一个操作数
+正号(不会对值产生任何影响),-负号(符号取反)
+可以将其他数据类型转换成Number,a =+a;
-对于非Number值先转换为Number,再取反

3、自增和自减
自增:使变量在自身的基础上增加1,自增后,原变量的值会立即自增1
请添加图片描述

后++(a++)和前++(++a)
原变量的值会立即自增1
a++的值等于原变量的值(自增前的值),++a的值等于原变量新值(自增后的值)

自减:使变量在自身的基础上减1
后–(a–)和前–(--a)
原变量的值会立即自减1
a–是变量原值,–a是变量原值

练习:

4、逻辑运算符
js中提供三种逻辑运算符

!非:可以用来对一个值进行非运算
对布尔值:进行取反操作(两次取反,还原)
非布尔值:现将类型变成布尔,再取反
可以对任意一个类型做两次非运算,即可以转换为布尔值

&& 与:可以对符号两侧的值,进行与运算
js中“与”属于短路的与,如果第一个值为false(true),则不会(会)看第二个值
运算规则(爱情):
只要有一个值为false,就返回false
只有两个值都为true,才返回true

|| 或:||对两侧的值进行或运算并返回结果
js中短路的或,第一个值为true(flase),则不会(会)看第二个值
运算规则(亲情):
只要有一个true,就会返回true

5、非布尔值
会先将其转换成布尔值,然后再运算,并返回原值
与运算:两个值都为true,返回后面的
两个值中有false,返回靠前的false
或运算:第一个值为true,直接返回第一个值
第一个值为flase,则返回第二个值

6、赋值运算符
=,右侧值赋值给左侧变量
+=,a+=5等价与a=a+5
-=,*=,/=,%=同

7、关系运算符
>,< >=
比较两个值之间的关系
条件成立返回true,不成立返回false
对于非数值进行比较时,会将其转换为数字然后再进行比较
任何值和NaN做任何比较都是false
符号两边都是字符串,不会转换成数字,而是会比较两者的字符编码(Unicode编码)
比较字符编码时是一位一位比较
如果两位一样,则比较下一位,所以借用它来对英语进行排序
如果比较的两个字符串类型的数字时,一定一定要转型,否则会得到不可预期的结果

8、编码
在字符串中使用Unicode编码显示用转义字符(\u+编码)
在网页中使用Unicode编码,使用(&#编码),这里的编码需要的是10进制的
9、相等运算符
== 比较两个值是否相等,等返回true,不等返回false
当使用++比较两个值时,先转换为相同的类型在比较(转换成的类型不定)
undefined衍生自null,所以这两个值做相等判断时,会返回true
NaN不能和任何值相等,包括它本身
可以通过isNaN()函数来判断一个值是否是NaN,返回true和false

!= 不相等,判断是否不相等
不相等也会对变量自动转换,再比较

=== 全等
用来判断两个值是否全等,它和相等类似,不同的是它不会做自动类型转换
如果类型不同,则返回false

!==不全等
用来判断两个值是否不全等,它和不相等类似,它不会做自动类型转换
如果类型不同,则返回true

10、条件运算符(三元运算符)
语法:
条件表达式?语句1:语句2
执行流程:
先对表达式进行求值
该值为true,则执行语句1,并返回执行结果
该值为false,则执行语句2,并返回执行结果
如果条件的表达式的求值结果是一个非布尔值
会将其转换为布尔值,然后再进行运算

11、运算符的优先级
,运算符
分割多个语句,一般声明多个变量(并赋值)时使用
和数学中的一样
先乘除 后加减
运算符优先级表,越往上优先级越高,优先级相同从左往右运算

12、代码块(只具有分组作用)
程序由一条一条的语句构成
自上向下的顺序执行
js中可以使用{}来为语句进行分组,{}中的语句为一组语句(也叫一个代码块)
代码块后面不用写;了

Guess you like

Origin blog.csdn.net/qq_47122804/article/details/121234563