Par*_*Par 3 javascript string-concatenation
有没有办法连接js函数名?现在我有这个:
switch (playId) {
case "11":
play11();
break;
case "22":
play22();
break;
case "33":
play33();
break;
case "44":
play44();
break;
default:
break;
}
Run Code Online (Sandbox Code Playgroud)
我想做这样的事情:
var function = "play" + playId + "()";
Run Code Online (Sandbox Code Playgroud)
并称之为..如果可能的话,最好的方法是什么?
解:
在帮助下我做了什么thefourtheye,xdazz非常简单:
var playFunction = window["play" + playId];
playFunction();
Run Code Online (Sandbox Code Playgroud)
最好的方法是将它们放在这样的对象中
var functions = {
11: play11,
22: play22,
33: play33,
44: play44
};
Run Code Online (Sandbox Code Playgroud)
然后像这样调用它
functions[taksId]();
Run Code Online (Sandbox Code Playgroud)
如果taskId找不到你就不想失败,你可以这样做
if (functions.hasOwnProperty(taskId)) {
functions[taksId]();
}
Run Code Online (Sandbox Code Playgroud)
如果这些函数是在全局范围内定义的,那么您可以从全局对象中获取它们:
var foo = window["play" + taskId];
Run Code Online (Sandbox Code Playgroud)
否则你可以将它们放在一个对象中,就像建议的另一个答案一样
| 归档时间: |
|
| 查看次数: |
4078 次 |
| 最近记录: |