元芳怎么了
2018-08-19 13:13:59
function confirm_to_func(func, txt,func_parm1,func_parm2) {art.dialog({title:"確認(rèn)執(zhí)行該操作",content : txt,icon : "question",lock : "true",window : "top",ok : function() { eval(func+'(func_parm1,func_parm2)'); eval(func+'('+func_parm1+','+func_parm2+')');
}, cancel : function() {
}
});}如上代碼所示我覺(jué)得 eval(func+'('+func_parm1+','+func_parm2+')');這種寫(xiě)法應(yīng)該給是對(duì)的。也就是拼起來(lái)。結(jié)果這種運(yùn)行不了。而eval(func+'(func_parm1,func_parm2)'); 這個(gè)卻運(yùn)行起來(lái)了。為什么?其中的func_parm1,func_parm2是作為變量傳進(jìn)來(lái)的。在逗號(hào)作用下不就變成了一個(gè)string類(lèi)型值為‘func_parm1’的字符串了嗎?為 了更好看清我的問(wèn)題附個(gè)圖
1 回答

繁星淼淼
TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超11個(gè)贊
假如
func=“change”;func_parm1=class_enable;func_parm2="5gfgdfg5";
第2種寫(xiě)法會(huì)讓eval執(zhí)行"
change(class_enable,5gfgdfg5)
"。而eval會(huì)把class_enable和5gfgdfg5當(dāng)成變量(因?yàn)闆](méi)加引號(hào))。
而第二種如果改成
eval(func+'("'+func_parm1+'","'+func_parm2+'")');
即參數(shù)加上引號(hào),
eval最后接收到的參數(shù)是。
change(“class_enable“,“5gfgdfg5“)
能夠正常運(yùn)行。即change參數(shù)加上引號(hào)就不會(huì)在把class_enable和5gfgdfg5當(dāng)做變量
添加回答
舉報(bào)
0/150
提交
取消