浅析JavaScript中的操作符与表达式
下面本篇文章给大家介绍一下JavaScript中的操作符与表达式,希望给大家有所帮助!
1.表达式
1.1原始表达式
3.14 //数字直接量 "hello world" //字符串直接量 /pattern/ //正则表达式直接量 true //返回一个布尔值: 真 false //返回一个布尔值: 假 null //返回一个值: 空 this //返回“当前”对象 i //返回变量i的值 sum //返回sum的值 undefined //undefined是全局变量,和null不同,它不是一个关键字登录后复制
1.2表达式
操作数以及操作符组合而成。
1 1 + 2 (1 + 2) * 3 (1 + 2 ) * 3 && !flag登录后复制
2.操作符
- 算术运算符(
+, -, *, /, %, **
): 普通的加、减、乘、除、取余运算,其中**
为次方运算符。
3 ** 2 // 结果为:9登录后复制
- 一元运算符(
++, --, +, -
): 一些只需要一个操作数的运算符,注意:++, --
放在变量左右侧的差别,放在变量的左侧是先自增(减),再取值,放在右侧则相反。
let a = 2, y, z; y = ++a // 先执行a = a + 1, 得到 a = 3, 然后将a赋值给y,则y = 3 z = a++ // 接上面a = 3, 将a赋值给z,则z = 3,然后再执行 a = a + 1, 得到a = 4 //一元证号(+) +3 //3 +'3' //3 +true //1 +functioan(a){return a} //NaN登录后复制
- 赋值运算符(
=, +=, -=, *=, /=, %=
):将某个常量或变量或表达式的值赋值给另一个变量,注意:ES6新增的解构赋值。
//解构数组 let [a, b, c] = ['one', 'two', 'three'] // a = 'one', b = 'two', c = 'three' //解构对象 let { name, age } = { name: 'cc', age: 100 } // name = 'cc', age = 100登录后复制
- 相等运算符(
==, !=, ===, !==
):用于比较左右的操作数是否相等。可参考:JS比较运算符(“===”和“==”
)的匹配规则以及if()条件的判断结果。 - 关系运算符(
>, <, >=, <=
): 用于比较操作符左右的操作数的大小。 - 位操作符(
&, |, ~, ^, <<, >>, >>>
): 将其操作数转化为二进制后,进行与、或、非、异或等操作运算,最终返回JS中的一个数值。其中>>>
为无符号右移。 - 逻辑运算符(
&&, ||, !
): 主要通过与、或、非来判断一个表达式的值是否为true。注意:与和或操作具有短路计算效果。
//短路计算 false && (anything) // 结果为false true || (anything) // 结果为anything //方法1: 设置x的缺省值 function test(x) { x = x || 100 } test(10) //x = 10 test() // x = 100 // 方法2: ES6的方式 function test(x = 100) { ... } test(10) //x = 10 test() // x = 100登录后复制
- 条件运算符(
? :
): JS中唯一一个有3个运算数的运算符,一般用于if语句的简短形式来使用。
【相关推荐:javascript视频教程、编程视频】