表达式的概念:将同类型的数据(如常量、变量、函数等),用运算符号按必定的规则连起来的、有意义的式子称为表达式react
1、原始表达式正则表达式
最简单的表达式,是表达式的最小单位。JavaScript中的原始表达式包含常量或直接量、关键字和变量express
1.直接量:数组
1.23 //数字直接量ide
“hello” //字符串直接量函数
/pattern/ //正则表达式直接量this
2.关键字:对象
true //返回一个布尔值:真ip
false //返回一个布尔值:假字符串
null //返回一个值:空
this //返回“当前”对象
3.变量:
i //返回变量i的值
sum //返回sum值
undefined //undefined是全局变量,和null不一样,他不是一个关键字
2、对象和数组的初始化表达式
对象和数组初始化表达式其实是一个新建立的对象和数组。这些初始化表达式有时称做“对象直接量”和“数组直接量”
1.数组初始化表达式是经过一对方括号和其内由逗号隔开的列表构成的,初始化的结果是一个新建立的数组。数组的元素是逗号分隔的表达式的值
[] //一个空数组
[1,5+6] //拥有两个元素的数组
这些表达式也能够嵌套 好比:var arr = [[1,2,3],[4,5,6],[7,8,9]]
数组直接量中的列表逗号之间的元素能够省略,这是省略的空位会填充undefined
2.对象初始化表达式和数组初始化表达式相似,知识方括号被花括号代替,而且每一个子表达式都包含一个属性名和一个冒号做为前缀
var p = {x:2,y:-1.2} // 一个拥有两个属性成员的对象
var q = {} //一个空对象
对象直接量也能够嵌套 如:var reactangle = {upperLeft:{x:2,y:2},lowerRight:{x:4,y:5}}
3、函数定义表达式
函数定义表达式定义一个JavaScript函数。表达式的值是这个新定义的函数。从某种意义上讲,函数定义表达式可称为“函数直接量”,毕竟对象初始化表达式成为“对象直接量”。一个典型的函数定义表达式包含关键字function,跟随其后的是一对圆括号,括号内是一个以逗号分割的列表,列表含有0个或多个标识符(参数名),而后再跟随一个由花括号包裹的JavaScript代码段(函数体)
如: var square = function(x) {return x*x} //这个函数返回传入参数值得平方
函数定义表达式能够包含函数的名字。函数也能够经过函数语句来定义,而不是函数表达式。
4、属性访问表达式
属性访问表达式运算获得一个对象属性或一个数组元素的值。JavaScript为属性访问定义两种语法:
expression.identifier
expression[expression]
第一种写法是一个表达式后跟随一个句点和标识符。表达式指定对象,标识符指定须要访问的属性名称
第二种写法是使用方括号,方括号是另一个表达式(这种方法适用于对象和数组)
5、调用表达式
JavaScript中的调用表达式是一种调用(或者执行)函数或方法的语法表示。它以一个函数表达式开始,这个函数表达式只带了要调用的函数。函数表达式后跟随一对圆括号,括号内饰一个以逗号隔开的参数列表,参数能够有0个也能够有多个,列如:
f(0) // f 是一个函数表达式,0是一个参数
Math.max(x,y,z) // Match.max是一个函数, x,y,z是参数
a.sort() // a.sort是一个函数,没有参数
当对调用表达式进行求值的时候,首先计算函数表达式,而后计算参数表达式,获得一组参数值。若是函数表达式的值不是一个可调用的对象,则抛出一个类型错误异常,而后实参的值一次赋值给形参,这些形参是定义函数式指定的,接下来开始执行函数体,若是函数使用return语句给出一个返回值,那么这个返回值就是整个调用表达式的值。不然,调用表达式的只就是undefined。函数调用---包括形参表达式的个数和函数定义中实参的个数不匹配的时候运行
6、对象建立表达式
对象建立表达式建立一个对象并调用一个函数(这个函数称作构造函数)初始化新对象的属性。对象建立表达式和函数调用表达式相似,只是对象建立表达式以前多了一个关键字new:
new Object()
new Potint(2,3)
未完待续......