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学习手册的主要内容,如果未能解决你的问题,请参考以下文章

jQuery学习手册

JavaScript学习手册(56)

译文:18个实用的JavaScript代码片段,助你快速处理日常编程任务

JavaScript学习手册(63)

JavaScript学习手册(55)

JavaScript学习手册(49)