JavaScript学习手册
Posted designbyly
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript学习手册相关的知识,希望对你有一定的参考价值。
运算符(操作符)
对一个或者多个值进行运算
算数运算符
加,减,乘,除,取模运算
-
对非Number类型的值进行加法运算时,会将这些值转换为Number然后再运算
-
任何值和NaN做加法运算都得到NaN
-
字符串相加,则将字符串拼接在一起
-
任何值和字符串做加法运算,都会先转换为字符串,然后再和字符串做拼接
技巧:为任意的数据类型 + “ ” ,即可将其转换为字符串。(隐式类型转换,浏览器自动完成)
为一个值 -0 ,* 1, / 1,来转换为Number(隐式类型转换,浏览器自动完成)
对一个其他的数据类型使用 + ,来将其转换为number
一元运算符
- +正号 -负号
- 对于非Number类型的值,先转换为Number,然后再运算
自增和自减
自增:使变量在自身的基础上增加 1
对于一个变量自增以后,原变量的值会立即自增 1 。
自增分类:
1.后++(a++) 和 前++(++a)
后++:值等于原变量的值(自增前的值)
前++:值等于原变量新值(自增后的值)
2.后-- (a–) 和 前-- (–a)
逻辑运算符
-
与(&&) :两个值都为true,则返回true。
只要有一个false,就返回false。(如果两个值都是true则返回true,只要有一个false,就返回false)
对于非布尔值进行与运算时,
会先将其转换为布尔值,然后再运算,并且返回原值。
如果两个值都为true,则返回后边的
如果两个值中有false,则返回靠前的false
result = 0 && 2; //0 result = 2 && 0; //2 result = NaN && 0; //NaN result = 0 && NaN; //0
-
或(||) :如果第一个值为true,则直接返回第一个值。(与运算正好相反)
如果第一个值为false,则直接返回第二个值。(与运算正好相反)
-
非(!) :如果对一个值进行两次取反,它不会变换。
如果对非布尔值进行计算,则会将其转换为布尔值,然后再取反。
技巧:可以为一个任意数据类型两次取反操作,将其转换为布尔值。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IYUHASJy-1619919323464)(C:\\Users\\Administrator\\AppData\\Roaming\\Typora\\typora-user-images\\1609248256959.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xqovakxn-1619919323467)(C:\\Users\\Administrator\\AppData\\Roaming\\Typora\\typora-user-images\\1609248320684.png)]
赋值运算符
可以将符号右侧的值给符号左侧的变量( = )
+= -= *= /= %/
关系运算符
大于号,大于等于,小于,小于等于,
-
比较两个值之间的大小,关系成立返回true,关系不成立则返回false
-
对于非数值进行比较时,会将其转换为数字,然后再比较。
-
任何值和NaN做任何比较都是false (10<=“hello”;//false)
console.log(1 > true); //false console.log(1 >= true) //true console.log(1>"0");//true console.log(10>null);//true
对于非数值进行比较时,会将其转换为数字然后再比较。
如果符号两侧的值都是字符串,不会将其转换为数字进行比较,而会分别比较字符串中字符的Unicode编码。
比较字符编码时是一位一位进行比较。
在比较两个字符串型的数字时,一定要转型。
Unicode编码表
在网页中写法:&#编码(十进制编码)
相等运算符( )
相等( == )
如果相等返回true,否则返回false
- 当使用==来比较两个值时,如果值的类型不同,则会自动进行类型转换,将其转化为相同的类型,然后再比较。
console.log(“null==0”);//false
console.log("true=="1");//true
console.log("1"==1);//true
- undefined衍生自null,所以这两个值做相等判断时,会返回true。
console.log(undefined==null);//true
- NaN不和任何值相等,包括本身。
**注意:**可以通过isNaN()函数来判断一个值是否是NaN。
var a=NaN;
console.log(isNaN(a));
不相等( != )
- 不相等也会对变量进行自动的类型转换,如果转换后也相等,返回false
全等( === )
- 不会做自动类型转换,如果值的类型不同,直接返回false
不全等( !== )
- 不会做自动类型转换,如果值的类型不同,直接返回true
条件运算符(三元运算符)
条件表达式 ? 语句1:语句2;
运算符的优先级
逗号分隔多个语句,一般声明用于多个变量。
优先级 | 运算符 | 说明 | 结合性 |
---|---|---|---|
1 | [] 、. 、() | 字段访问、数组索引、函数调用和表达式分组 | 从左向右 |
2 | ++ – -~!delete new typeof void | 一元运算符、返回数据类型、对象创建、未定 义的值 | 从右向左 |
3 | *、/、% | 相乘、相除、求余数 | 从左向右 |
4 | +、- | 相加、相减、字符串串联 | 从左向右 |
5 | <<、>>、>>> | 左位移、右位移、无符号右移 | 从左向右 |
6 | <、<=、>、>=、instanceof | 小于、小于或等于、大于、大于或等于、是否 为特定类的实例 | 从左向右 |
7 | 、!=、=、!== | 相等、不相等、全等,不全等 | 从左向右 |
8 | & | 按位“与” | 从左向右 |
9 | ^ | 按位“异或” | 从左向右 |
10 | | | 按位“或” | 从左向右 |
11 | && | 短路与(逻辑“与”) | 从左向右 |
12 | || | 短路或(逻辑“或”) | 从左向右 |
13 | ?: | 条件运算符 | 从右向左 |
14 | =、+=、-=、*=、/=、%=、&=、|=、^=、<、<=、>、>=、>>= | 混合赋值运算符 | 从右向左 |
15 | , | 多个计算 | 按优先级计算,然后从右向左 |
每日一句
愁人苦夜长,志士惜日短。
以上是关于JavaScript学习手册的主要内容,如果未能解决你的问题,请参考以下文章