可能重复:
How to convert a string value to a variable in javascript?
在Javascript中,我有一个看起来像这样的对象:
clock = function(){
this.load = function(){
alert("once");
}
this.once = function(){
alert("load");
}
}
var clock = new clock();
在页面加载时,我调用时钟对象中的load()
函数,如此
clock.load();
但是,当用户点击链接时,我需要能够运行clock.once()
。像这样调用它很好,但不符合我正在做的动态需求。
假设我需要在用户点击clock.once()
代码时致电<a>
:
$("a").click(function(){
var id = $(this).attr("href").match(/[a-zA-Z]+/g);
[id].once();
}
我认为这样可行,其中调用once()
函数的对象是从字符串id
中获取的。
但是,在运行时,我收到以下错误:
未捕获的TypeError:对象时钟没有方法'一次'
使用once()
手动调用clock.once()
可以正常工作。
答案 0 :(得分:1)
[id].once
不会起作用,因为您没有引用您创建的包含时钟对象的特定数组。您需要一个特定的数组,其中存储了多个时钟对象实例(如果您构造了正确的数组)。
如果您之前创建了一个时钟对象数组:
var clocks = [];
clocks.push(new clock());
clocks.push(new clock());
然后,你可以像这样索引到那个特定的数组,假设id是该数组的有效索引:
clocks[id]
如果您真的只是想知道如何将字符串转换为数字,那么您可以通过多种方式实现。以下是两种常见方式:
parseInt(id, 10)
+id