Page 162 - Node.js开发指南
P. 162

附录 A  JavaScript 的高级特性    155


                   在 JavaScript 中,你可以用以下方法创建一个简单的对象:                                                  1

                   var foo = {};
                   foo.prop_1 = 'bar';
                   foo.prop_2 = false;
                   foo.prop_3 = function() {                                                          2
                       return 'hello world';
                   }
                   console.log(foo.prop_3());
                   以上代码中,我们通过  var foo = {}; 创建了一个对象,并将其引用赋值给 foo,
                                                                                                      3
               通过 foo.prop1 来获取它的成员并赋值,其中 {} 是对象字面量的表示方法,也可以用 var
               foo = new Object() 来显式地创建一个对象。
                   1. 使用关联数组访问对象成员
                   我们还可以用关联数组的模式来创建对象,以上代码修改为:                                                        4


                   var foo = {};
                   foo['prop1'] = 'bar';
                   foo['prop2'] = false;
                   foo['prop3'] = function() {                                                        5
                     return 'hello world';
                   }

                   在 JavaScript 中,使用句点运算符和关联数组引用是等价的,也就是说任何对象(包括
               this 指针)都可以使用这两种模式。使用关联数组的好处是,在我们不知道对象的属性名                                             6
               称的时候,可以用变量来作为关联数组的索引。例如:

                   var some_prop = 'prop2';
                   foo[some_prop] = false;
                                                                                                      7
                   2. 使用对象初始化器创建对象
                   上述的方法只是让你对JavaScript对象的定义有个了解,真正在使用的时候,我们会采用
               下面这种更加紧凑明了的方法:

                                                                                                      8
                   var foo = {
                     'prop1': 'bar',
                     prop2: 'false',
                     prop3: function (){
                       return 'hello world';
                     }                                                                                9
                   };
                   这种定义的方法称为对象的初始化器。注意,使用初始化器时,对象属性名称是否加引
               号是可选的,除非属性名称中有空格或者其他可能造成歧义的字符,否则没有必要使用引号。
                                                                                                      10
   157   158   159   160   161   162   163   164   165   166   167