(6)JavaScript学习笔记 - 表达式和运算符

时间:2022-04-29 17:20:17

一、表达式

1.JS解释器可以计算它,从而生成一个值;

2.最简单的表达式是直接量或者变量名,直接量表达式的值就是这个直接量本身;

123;

“我是字符串”

i+1.7;

(a+3)*sum;

二、运算符

1.大多数运算符是符号,如:“+”,“-”,但也有运算符是由关键字表示的, 如 “delete”;

(6)JavaScript学习笔记 - 表达式和运算符
(6)JavaScript学习笔记 - 表达式和运算符
(6)JavaScript学习笔记 - 表达式和运算符

P列说明了每个运算符的优先级,数字大的高于数字小的

三、相等运算符 == 和等同运算符 ===

1.==是允许类型转换的,===必须完全相等的

2.===的规则:

a.如果两个值的类型不同,它们就不相同;

b.如果两个值的类型都是数字,只要不是Nan,都是等同

c.字符串的每一个位置上的字符都相同,才是等同

d.如果两个值是指向同一个引用,则它们等同

e.如果都是null 或undefined ,则它们等同

3.!= 和 !== 是相反的规则

四、in 运算符

1.左边的运算数是一个字符串,或可以被转换为字符串,右边的运算数是一个对象或数组;

2.如果左边的值是右边对象的一个属性名,则返回 true ;

var point = { x:1, y:1 };
var has_x_coord = "x" in point; //true
var has_y_coord = "y" in point; //true
var has_z_coord = "z" in point; //false
var ts = "toString" in point; //true

五、instanceof
如果左边的对象是右边类的一个实例,则返回true

六、字符串运算符

1.< <= > >= 确定顺序的,使用的Unicode

2.+ 字符串运算符的优先级比数字高

1+2; //3
"1" + 2; //12
11 < 3; //false
"11" < 3; //true
1 + 2 + " abc "; //3abc
"abc" + 1 + 2; //abc12