使用 MooTools 的匿名类

发布于 2024-08-23 17:26:35 字数 285 浏览 0 评论 0原文

我可以使用 MooTools js 框架创建匿名类(java 术语)吗? 假设它应该看起来像:

A = new Class({
  invoke: function() {
    alert('class');
  } 
});

a = new A({
  invoke: function() {
    this.parent();
    alert('instance');
  },
});

但我不想修改构造函数接口来接受其他属性。 是否有更舒适的方法来定义不多次使用的类?

Can I create the anonymous class(java term) using the MooTools js framework?
Suppose it should look like:

A = new Class({
  invoke: function() {
    alert('class');
  } 
});

a = new A({
  invoke: function() {
    this.parent();
    alert('instance');
  },
});

But I don't want to modify constructor interface around to accept additional properties.
Is there more comfortable way to define classes that are used not more than once?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

情何以堪。 2024-08-30 17:26:35

您只能在要使用该类的范围内定义该类,这意味着该类在该范围之外将不可用。例如,使用自执行函数:(

(function() {

    var MyClass = new Class({
      invoke: function() {
        alert('class');
      } 
    });

    var myObject = new MyClass({
      invoke: function() {
        this.parent();
        alert('instance');
      }
    });

})();

我修复了代码中的几个错误,包括在声明 MyClassmyObject< 时省略 var 关键字/code>,以及初始化 myObject 时额外的 ,。)

You could define the class only within the scope it is going to be used in, which means the class won't be available outside that scope. For example, using a self-executing function:

(function() {

    var MyClass = new Class({
      invoke: function() {
        alert('class');
      } 
    });

    var myObject = new MyClass({
      invoke: function() {
        this.parent();
        alert('instance');
      }
    });

})();

(I've fixed up several errors in your code, including omitting the var keyword when declaring MyClass and myObject, and an extra , when initialising myObject.)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文