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

156  附录 A  JavaScript 的高级特性


             A.3.2  构造函数

                 前一小节讲述的对象创建方法都有一个弱点,就是创建对象的代码是一次性的。如果我
             们想创建多个规划好的对象,有若干个固定的属性、方法,并能够初始化,就像 C++ 语言
             中的对象一样,该如何做呢?别担心,JavaScript  提供了构造函数,让我们来看看应该如何
             创建复杂的对象。

                 function User(name, uri) {
                   this.name = name;
                   this.uri = uri;
                   this.display = function() {
                     console.log(this.name);
                   }
                 }

                 以上是一个简单的构造函数,接下来用 new 语句来创建对象:

                 var someuser = new User('byvoid', 'http://www.byvoid.com');
             然后就可以通过 someuser 来访问这个对象的属性和方法了。

             A.3.3  上下文对象

                 在 JavaScript 中,上下文对象就是 this 指针,即被调用函数所处的环境。上下文对象
             的作用是在一个函数内部引用调用它的对象本身,JavaScript  的任何函数都是被某个对象调
             用的,包括全局对象,所以 this 指针是一个非常重要的东西。


                                JavaScript 中并没有像 C++ 一样的指针概念,这里所谓的 this 指针
                            只是沿用习惯的说法而已。


                 在前面使用构造函数的代码中我们已经看到了 this 的使用方法,下面代码可以更佳清
             楚地说明上下文对象的使用方式:

                 var someuser = {
                   name: 'byvoid',
                   display: function() {
                     console.log(this.name);
                   }
                 };

                 someuser.display(); // 输出 byvoid

                 var foo = {
   158   159   160   161   162   163   164   165   166   167   168