js中的表达式

版权声明: https://blog.csdn.net/weixin_39823527/article/details/80782677

数组初始化表达式

数组的初始化表达式是通过一对方括号和期内由逗号隔开的列表构成。初始化的结果是穿件一个新数组。数组的元素是逗号分隔的表达式的值:

    []        //一个空数组,[]内是空表示该数组没有元素

    [1+2,3+4]      //有两个元素,一个是3,一个是7

数组初始化表达式中的元素初始化表达式也可以是数组初始化表达式,即这些表达式可以嵌套。

    var matrix = [[1,2,3],[4,5,6],[7,8,9,10]];

数组初始化表达式进行求值的时候,数组初始化表达式中的元素表达式也都会各自计算一次。因此,数组初始化表达式每次计算的值可能是不同的。

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

var sparseArray = [1,,,5];        //由两个undefined

数组直接量的元素列表的元素结尾可以留下单个逗号,职务时并不会创建一个新的值为undefined的元素。

对象初始化表达式

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

    var p = {x:2,y:3};        //一个拥有两个属性成员的对象

    var q = {}                  //一个空对象

    q.x = 2;   q.y = 3 ;    //q的属性成员和y的一样

    对象直接量也可以嵌套:

        var rectangle = {upperleft : {x:2,y:2},

                                    lowezright : {x : 3,y :3}};

    js求对象初始化表达式时,对象表达式也都会各自计算一次,并且它们不必包含常数值;它们可以是任意的js表达式。同样对象直接量的属性名可以是字符串而不是标识符。

函数定义表达式

    函数定义表达式定义一个js函数。表达式德职是这个新定义的函数。

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

        var square = function(x){return x*x};        //    这个函数返回传入参数的平方

      函数定义表达式同样可以包含函数名。

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

属性访问表达式

    属性访问表达式运算得到一个对象属性或一个数组元素的值。js为属性访问定义了两种方法:

        expression . identifier

        expression .[ expression]

    第一种写法是一个表达式后跟随一个句点和标识符。表达式指定对象,标识符则制定需要访问的属性名。

    第二种写法使用方括号,方括号内是另一个表达式(这种方法适用于对象和数组)。第二个表达式指定要访问的属性的名称或者要访问数组元素呢的索引。如:

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

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

        o.x                                           //表达式0的x属性     1

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

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

        


猜你喜欢

转载自blog.csdn.net/weixin_39823527/article/details/80782677