js---运算符

算数运算符:

当对非Number类型的值进行运算时,会将这些值转换为Number后再进行运算

任何值和NaN作运算,结果都是NaN

任何值和字符串作加法运算,都会先转换为字符串,然后再和字符串做拼接的操作

自增

a++/++a都会使原变量的值立即自增1

a++的值等于原变量的值,即自增前的值

++a的值等于自增以后的值

布尔值运算

非布尔值进行与或运算时,会先将其转换为布尔值,然后再进行运算,并且返回原值 

与运算:如果两个值都为true,则返回后边的

    如果两个值中有false,返回靠前的false

    如果第一个值为true,则必然返回第二个值

    如果第一个值为false,则直接返回第一个值

或运算:如果第一个值为true,则直接返回第一个值

    如果第一个值为false,则直接返回第二个值

赋值运算符

a+=5,等价于a=a+5

比较运算符

任何值和NaN作任何比较都是false

如果符号两边的值都是字符串,不会将其转换为数字进行比较,而是比较其字符串的字符编码

比较字符编码时时一位一位进行比较,如果两位一样,则比较下一位

相等运算符

当使用==来比较两个值时,如果值的类型不同,则会自动进行类型转换,将其转换为相同的类型,进行比较

undefined衍生自null,所以这两个值做相等判断时会返回true

NaN不和任何值相等,包括他本身

可以通过isNaN()来判断一个值是否是NaN

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

!==不全等,与全等类似

 条件运算符(三元运算符)

语法:

  条件表达式 ? 语句1 : 语句2

运算符优先级

 

posted on 2020-07-20 15:48  0黑曼巴00  阅读(215)  评论(0)    收藏  举报