表达式概述


表达式是 JavaScript 中的一个短语,JavaScript 解释器会将其计算出一个结果。简单表达式包括常量、变量,复杂表达式由简单表达式组成,最常用的方法就是使用运算符。

原始表达式

原始表达式是表达式的最小单位,不再包含其他表达式,JavaScript 中原始表达式包括常量或直接量、变量以及关键字。常量无需多言,直接量在前面也有提及,JavaScript 中一些保留字构成原始表达式:

  • true
  • false
  • null
  • this

变量也是原始表达式:

  • i
  • sum
  • undefined (和 null 不同,undefined 是全局变量,不是关键字)

对象和数组初始化表达式

对象和数组初始化表达式有时候也叫做「对象直接量」和「数组直接量」,以数组初始化为例:

  • []
  • [1,2,3]
  • [1,2,3,] // 和上面的定义等价
  • [[1,2,3],[4,5,6]] // 嵌套定义
  • [1,,3] // 第二个元素为 undefined

对象初始化和数组初始化类似:

  • {}
  • {x:1,y:2}
  • var q={}; q.x=1; q.y=2;
  • {left:{x:1,y:2},right:{x:3,y:4}} // 嵌套定义

函数定义表达式

函数定义表达式是一个 JavaScript 函数,表达式的值是这个新定义的函数。函数定义表达式也可以称作「函数直接量」:

var square = function(x) { 
    return x * x; 
}

属性访问表达式

顾名思义,属性访问表达式获取一个对象属性或数组元素的值:

属性访问表达式

如果对应属性不存在,则表达式的值是 undefined

调用表达式

调用表达式是一种调用/执行函数或方法的语法表示:

  • f(1)
  • Math.max(x,y,z)
  • arr.sort()

如果函数表达式的值不是一个可调用对象,则抛出类型错误异常。如果函数有返回值,则表达式的值就是返回值,如果没有返回值则表达式的值是 undefined

对象创建表达式

对象创建表达式创建一个对象并调用构造函数初始化新对象的属性,对象创建表达式和函数调用表达式非常类似,只是多了一个 new 关键字:

  • new Object();
  • new Point(1,2);

和 PHP 一样,如果对象构造函数不需要传入任何参数,那么圆括号可以省略。


点赞 取消点赞 收藏 取消收藏

<< 上一篇: 变量作用域

>> 下一篇: 运算符概述