原始表达式(primary expression)

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

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

数组直接量中的列表逗号之间的元素可以省略,这时省略的空位会填充值underfined。

eg:这个数组包含5个元素,其中三个元素是underfined

     var spareArray=[1,,,,5];

对象初始化表达式和数组初始化表达式非常类似,只是方括号被花括号代替,并且每个子表达式都包含一个属性名和一个冒号作为前缀:

eg:var p={x:2.3,y=1.2};

      var q={};

       q.x=2.3;q.y=1.2;        //q的属性成员和p的一样

函数定义表达式

一个典型的函数定义表达式包含关键字function,跟随其后的是一对圆括号,括号内是一个以逗号分割的列表,列表含有0个或多个标识符,然后再跟随一个由花括号包裹的js代码段:

//这个函数返回传入参数值得平方

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

 

属性访问表达式

js为属性访问定义了两种语法:

             expression.identifer        表达式

             exopression [expression]  对象和数组

eg: var o={x:1,y:{z:3}};    //一个示例对象

      var a=[o,4,[5,6]];         //一个包含这个对象的示例数组

      o.x                              // =>1: 表达式o的x属性

      o.y.z                            //=>3:表达式o.y的z属性

      o["x"]                           //=>1:对象o的x属性

      a[1]                             //=>4:表达式a中索引为1的元素

      a[2]["1"]                      //=>6:表达式a[2]中索引为1的元素

      a[0].x                          //=>1:表达式a[0]的x属性

 

“++”当运算符在操作数之前,称为“前增量”运算符,它对操作数进行增量计算,并返回计算后的值。

       当运算符在操作数之后,称之“后增量”运算符,它对操作符进行增量计算,但返回未做增量计算的值。

var i=1 ,j=++i;  //i和j的值都是2     先计算再赋值

var i=1,j=i++;   //i=2.j=1            先赋值在计算

 

 

“=”,“==”,“===”(赋值,相等,恒等)

 

in运算符

in运算符希望它的左操作数是一个字符串或可以转换为字符串,希望他的右操作数是一个对象。如果右侧的对象拥有一个名为左操作数值的属性名,那么表达式返回ture,

eg:var point ={x:1,y:1};   //定义一个对象

      ”x“ in point                       //=>ture:对象有一个名为”x“的属性

       ”z“ in point                      //=>false:对象中不存在名为”z“的属性

        ”toString“ in point           //=>ture:对象继承了toString()方法

var data =[7,8,9];                    //拥有三个元素的数组

”0“ in data                               // =>ture:数组包含元素”0“

1 in data                                 //=>ture:数字转换为字符串

3 in data                                 //=>false:没有索引为3的元素

 

 

 

78页

 

 

 

      

 

posted on 2015-09-16 15:01  麦子GG  阅读(323)  评论(0编辑  收藏  举报