如何从字符串创建一个名称的类方法
How to create a class method with name from string?
是否可以在JS中有一个类并从字符串中声明2个方法名称?我的意思是这样的:
function MyClass()
{
var methods = ['hello', 'hey'];
for (var i in methods)
{
this[methods[i]] = function()
{
alert('This is method ' + methods[i]);
}
}
}
这将创建一个带有hello和hey函数的类。我需要创建一些功能,其中有非常相似的身体,但不同的名称。我不想使用eval,所以代码可以被编译。
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css"></link>
</head>
<body>
<script>
function generator(i) {
return function (x) {
return x * i;
}
}
function foo(methods) {
var i;
for (i = 0; i < methods.length; i++) {
this[methods[i]] = generator(i);
}
}
var test = new foo(['nulify', 'repeat', 'double']);
console.log(test.nulify(10));
console.log(test.repeat(10));
console.log(test.double(10));
</script>
</body>
</html>
更多问题…
相关文章:
- 当使用Q/promises/异步函数时,如何将一个值从一个类方法返回到另一个类
- 有没有一个JavaScript方法可以让我根据用户所在的html页面为正文提供特定的css类
- 在ES2015中定义一个类,构造函数方法是什么以及为什么它是必不可少的
- 从另一个类的公共方法调用一个类的公共方法
- 从同一类中的另一个方法调用 javascript 类方法
- 将参数传递给从另一个类调用方法的一个类上的便利方法
- javascript中的闭包与c++中的类实例(它有一个私有成员和一个公共方法)相当吗
- 从另一个方法调用javascript类方法
- Javascript从一个类继承属性和方法
- ES6 Javascript类-定义一个现有函数的类方法
- 如何为包含来自另一个类/文件的全局变量的方法编写茉莉测试?
- ES6 -用import语句在类上声明一个原型方法
- 如何从字符串创建一个名称的类方法
- 如果我的ES6类方法返回一个承诺,即使没有必要
- 用ES6类传递一个实例方法给super
- ES6类:设置函数的返回作为一个原型方法
- 如何包装一个类从一个渲染方法到OnClickOutside通过ReactJS
- 如何在javascript中为根类对象添加一个新方法
- 如何在另一个文件中定义一个类方法
- jQuery find()方法不能只在一个类上工作