好的,我不知道如何在没有显示的情况下实际问这个问题。 (也解释了为什么我无法弄清楚如何在Google上搜索它。)
考虑到以下代码:
dijit.byId('leftNavigationPane').onLoad = function(){setSecondaryNav(url.secondaryNavId);};
我希望对变量url.secondaryNavId
进行评估,所以我真正想要的就是这样处理:
dijit.byId('leftNavigationPane').onLoad = function(){ setSecondaryNav('item1'); };
我相信可能有更好的方法来做到这一点,所以请随意提出建议。
答案 0 :(得分:5)
请勿使用eval
!
您可以按如下方式使用self-invoking function和closures:
dijit.byId('leftNavigationPane').onLoad = function(id){
return function(){ setSecondaryNav(id); };
}(url.secondaryNavId);
这将立即执行外部匿名函数(在运行时),传递url.secondaryNavId
参数,然后创建一个内部匿名函数将使用的闭包(因此id
将始终包含赋值 - url.secondaryNavId
属性的时间值。
答案 1 :(得分:-1)
有JavaScript eval()函数。