javascript权威指南--表达式

来源:互联网 发布:人工智能 硅基生命 编辑:程序博客网 时间:2024/06/05 04:56

表达式(expression):js中的一个短语,js解释器会计算出(evalute)一个结果

原始表达式

原始表达式:简单表达式(primary expression),最小单位,包含常量,直接量,关键字,变量。
直接量原始表达式

"hello"//字符串直接量/parttern///正则表达式直接量

保留字原始表达式

ture//return boolen:真false//return boolen:假null//return boolen:空this//return:当前对象
i//return variable isum//return sumundefined//undefined是全局变量,和null不同,不是关键字

代码中有标识符,对不存在的标识符,js会当作变量取查找,未找到,return reference error

对象和数组的初始化表达式

数组初始化

[]//一个空数组[1+2,3+4]var matrix=[[1,2,3],[4,5,6],[7,8,9]];var sparesArry=[1,,,,5]//空元素为undefined;
var p={x:2.3,y:-1.2};//一个拥有两个属性成员的对象var p={};//null objectq.x=2.3;q.y=-1.2//q的成员和p的成员一样

对象直接量也可以嵌套

var rectangle={upperLeft:{x:2,y:2},lowerRight:{x:4,y:5}}var side=1;var square={"upperLeft":{x:p.x,y:p.y}}

函数定义表达式

从某种意义上讲函数定义表达式可称为函数直接量

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

属性访问表达式

语法:
expression.indentifier
expression[expression]

var o={x:1,y:{z:3}};//一个实例对象var a={o,4,[5,6]};//一个包含着个对象的实例数组o.x//=>1o.y.z;//=>3o["x"];//=>1a[1];//=>4a[2]["1"]//=>6a[o].x//=>1

在“.”或“[”之前的表达式总会受限计算。如计算结果是null undefined则表达式抛出一个类型错误。

属性访问表达式

如果属性名称是保留字或包含空格,使用[]

调用表达式

invocation(调用)
expression(表达式)

f(0)//Math.max(x,y,x)//z.sort()

如果函数表达式的值不是一个可调用的对象,则抛出类型错误
如函数return 语句返回值,则返回值是整个调用表达式的值,否则为深度空undefined

对象创建表达式

(object creatino expression)
创建对象并调用一个函数(构造函数)初始化新对象的属性(传入参数)

new object();new point(43

如对象创建表达式不需要传入任何参数进构造函数

new object;new date
0 0
原创粉丝点击