WEB开发网
开发学院网页设计JavaScript JavaScript : 使用面向对象的技术创建高级 Web 应... 阅读

JavaScript : 使用面向对象的技术创建高级 Web 应用程序

 2010-09-14 13:27:00 来源:WEB开发网   
核心提示: 图 2 中的最后一行表示的是将函数作为对象的方法进行调用的另一种方式,请记住,JavaScript : 使用面向对象的技术创建高级 Web 应用程序(6),JavaScript 中的函数是对象,每个函数对象都有一个名为 call 的方法,您将在下一节中看到,您可以充分利用这一情况:函数在与

图 2 中的最后一行表示的是将函数作为对象的方法进行调用的另一种方式。请记住,JavaScript 中的函数是对象。每个函数对象都有一个名为 call 的方法,它将函数作为第一个参数的方法进行调用。就是说,作为函数第一个参数传递给 call 的任何对象都将在函数调用中成为“this”的值。这一技术对于调用基类构造函数来说非常有用,稍后将对此进行介绍。

有一点需要记住,绝不要调用包含“this”(却没有所属对象)的函数。否则,将违反全局命名空间,因为在该调用中,“this”将引用全局对象,而这必然会给您的应用程序带来灾难。例如,下面的脚本将更改 JavaScript 的全局函数 isNaN 的行为。一定不要这样做!

alert(“NaN is NaN: “ + isNaN(NaN));
function x() {
  this.isNaN = function() {
    return “not anymore!”;
  };
}
// alert!!! trampling the Global object!!!
x();
alert(“NaN is NaN: “ + isNaN(NaN));

到这里,我们已经介绍了如何创建对象,包括它的属性和方法。但如果注意上面的所有代码段,您会发现属性和方法是在对象定义本身中进行硬编码的。但如果需要更好地控制对象的创建,该怎么做呢?例如,您可能需要根据某些参数来计算对象的属性值。或者,可能需要将对象的属性初始化为仅在运行时才能获得的值。也可能需要创建对象的多个实例(此要求非常常见)。

在 C# 中,我们使用类来实例化对象实例。但 JavaScript 与此不同,因为它没有类。您将在下一节中看到,您可以充分利用这一情况:函数在与“new”运算符一起使用时,函数将充当构造函数。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:JavaScript 使用 面向

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接