javascript权威指南(02)

来源:互联网 发布:电影制作知乎 编辑:程序博客网 时间:2024/05/29 04:07

第四章

4.1 原始表达式

原始表达式是表达式的最小单位,不再包含其他表达式。
例如:

  • 常量

1.23
2
5

  • 直接量 关键字(true false null this) 变量

“hello” 字符串直接量

/pattern/ 正则表达式直接量

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

对象和数组初始化表达式实际上是一个新创建的对象和数组。

//数组初始化表达式
[] // 一个空数组
[1+2,3+4] // 含有两个元素的数组
[[1,2,3],[4,5,6]] // 数组嵌套 二维数组
//对象初始化表达式
{} // 一个空对象
{a:1,b:2} // 含两个属性值的对象
{a:{a1:1,a2:2},b:{b1:1,b2:2}} // 对象嵌套

4.3函数定义表达式

函数定义表达式定义一个JavaScript函数。或称“函数直接量”

var square = function(x) {return x*x;} // 把函数直接量赋值给square变量

4.4属性访问表达式

属性访问表达式运算得到一个对象属性值或一个数组元素的值。

4.5调用表达式

f(0) // f是函数,0是一个参数表达式
Math.max(x,y,z) // Math.max是函数,x y z 是3个参数
a.sort() //a.sort()是函数,它没有参数

4.6对象创建表达式

对象创建表达式创建一个对象并调用一个函数(这个函数称作构造函数)初始化新对象的属性。

4.7运算符概述

运算符分两种:标点符号(+ - × / …)和关键字运算符(delete instancdof typeof void in )

4.7.1操作数的个数

按操作数的个数分类:一元运算符 二元运算符 三元运算符

4.7.3左值

左值:表达式只能出现在赋值运算符的左侧。 JavaScript中 变量 对象属性和数组元素均为左值。

4.7.5运算符优先级

运算符优先级控制着运算符的执行顺序。优先级越高越先执行。属性访问表达式和调用表达式的优先级比所有的运算符都高。

4.7.6运算符的结合性

左结合性:从左至右结合(从左至右执行运算)
右结合性:从右至左结合 (从右至左执行运算)

其中:一元操作符 赋值 和 三元条件运算符都是右结合性。

4.8 算数表达式

位运算符:& | ^ ~ << >>

7<<2=28
7>>1=3

in运算符,instanceof运算符

var point = {x:1,y:1}
“x” in point //true 对象里有名为”x” 的属性
“tiString” in point // true 对象继承了toString()方法

var data = [7,8,9];
“0” in data //true 0代表索引

var d = new Date();
d instanceof Date; //true

原创粉丝点击