如何在js中为特定类型创建集合?

时间:2012-02-15 15:48:35

标签: javascript

在C#中我有一个类似的类型的集合。

 public class scale
 {

 }


 public class scales : List<scale>
 {
     // some codes.
 }

为了扩展,我使用了这样的函数:

scale = function ( )
{

}

如何在js中创建比例(函数的集合)?

2 个答案:

答案 0 :(得分:3)

您可以在JavaScript中使用数组:

var scales = [];
scales.push(new scale());
// and so on...

但JavaScript是一种动态类型语言。您不能强制执行编译时类型安全性并创建只能有scale个实例的数组。

编辑1

Array类已经有一些辅助方法。有关详细信息,请参阅here

编辑2

顺便说一句,您在上面定义的scale变量确实是一个函数,但是当您使用new运算符创建scale的新实例时,您得到的不是功能更长,但一个对象。因此,您不要创建“函数集合”,而是创建对象的集合

答案 1 :(得分:3)

Javascript目前没有合适的集合类型概念,只需使用数组类型:

var scales = [];
scales.push(new scale());

您仍然可以访问相关的属性:

scales[0].myProp = "Hello";

您可以将scales定义为类本身:

var scales = function() { this._items = []; };
scales.prototype = {
   add: function(scale) {
       this._items.push(scale);
   }
}

用法:

var scales = new scales();
scales.add(new scale());