WEB开发网
开发学院网页设计JavaScript JS.Class - 2. Methods & Types 阅读

JS.Class - 2. Methods & Types

 2009-10-13 00:00:00 来源:WEB开发网   
核心提示: 另外一个实用的方法就是 Singleton 了,最常用的模式之一,JS.Class - 2. Methods & Types(2),不是吗?要知道 JavaScript 可没有 private 访问修饰符,我们无法弄一个 private initialize() 出来,某些时候我们必须验

另外一个实用的方法就是 Singleton 了,最常用的模式之一,不是吗?要知道 JavaScript 可没有 private 访问修饰符,我们无法弄一个 private initialize() 出来。

var User = new JS.Singleton(
{
  name : "User",
  print : function() { document.write(this.name + "<br />"); }
});
//var o = new User();
User.print();

这样用来,你无法用 new User() 来创建对象实例,它会导致一个错误。

Microsoft JScript 运行时错误: 对象不支持此操作

当然,我们也可以让继承类变成 Singleton。

var User = new JS.Class(
{
  name : "User",
  print : function() { document.write(this.name + "<br />"); }
});
var Manager = new JS.Singleton(User, {});
var o = new User();
Manager.print();

既然有了类和继承,那么 Type 的相关操作就是必须的了。要知道 JavaScript 的变量是无类型的,某些时候我们必须验证一些危险分子的身份。

var User = new JS.Class({});
var Manager = new JS.Class(User, {});
var o = new Manager("Tom");
alert(o.isA(Manager));
alert(o.isA(User));

很典型的 C# is 关键字的用法,isA 很好地支持了继承体系。

var User = new JS.Class({});
var Manager = new JS.Class(User, {});
var o = new Manager("Tom");
alert(o.klass == Manager); // true
alert(o.klass.superclass == User); // true

编缉推荐阅读以下文章

  • JS.Class - 3. Modules & Mixins
  • JS.Class - 1. Classes & Inheritance

Tags:JS Class Methods

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