在C#中我有一个类似的类型的集合。
public class scale
{
}
public class scales : List<scale>
{
// some codes.
}
为了扩展,我使用了这样的函数:
scale = function ( )
{
}
如何在js中创建比例(函数的集合)?
答案 0 :(得分:3)
您可以在JavaScript中使用数组:
var scales = [];
scales.push(new scale());
// and so on...
但JavaScript是一种动态类型语言。您不能强制执行编译时类型安全性并创建只能有scale
个实例的数组。
Array
类已经有一些辅助方法。有关详细信息,请参阅here。
顺便说一句,您在上面定义的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());