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 = {