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
//短路计算
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语句的简短形式来使用。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。