需求是我根據(jù)點(diǎn)擊元素的ID執(zhí)行對(duì)應(yīng)ID名稱的函數(shù)初始化方法。我之所以用動(dòng)態(tài)的原因是作為前端角色,我不知道每個(gè)ID是什么。(實(shí)際上我是知道了)var oId;
$('#btn').click(function () {
oId = $('xxx').attr('id'); //具體實(shí)現(xiàn)不重要
// oId 的具體格式是 [id]-[時(shí)間戳]
var arr = oId.split('-'); eval(arr[0]+".init()");
});是否有其他的方法來(lái)解決?(并不排斥 eval函數(shù) )補(bǔ)充:以防一些朋友不明白。就是一般我們調(diào)用函數(shù)方法如下: func.init(); 調(diào)用 func 方法的 init(); 現(xiàn)在我需要 func 這個(gè)是動(dòng)態(tài)的,變成xxx.init();最終方案:有助于關(guān)注問(wèn)題的朋友知道。var oId;
$('#btn').click(function () {
oId = $('xxx').attr('id'); //具體實(shí)現(xiàn)不重要
// oId 的具體格式是 [id]-[時(shí)間戳]
var arr = oId.split('-');
// 解決方法如下
var fn = window[arr[0]]; if( fn && fn.init ) {
fn.init();
}
});
Javascript有沒(méi)有動(dòng)態(tài)執(zhí)行函數(shù)的方法(函數(shù)名字動(dòng)態(tài))
青春有我
2018-08-10 10:09:52