Javascript 对象上下文中的变量
如何使Javascript 对象上下文中的变量,javascript,jquery,variables,object,Javascript,Jquery,Variables,Object,如何使nav_项目在以下上下文中工作 params = { nav: $('.nav'), nav_items: params.nav.find('li') } ReferenceError: params is not defined (logically true) 我也试过: params = { nav: $('.nav'), nav_items: nav.find('li') } ReferenceError: nav is not defined
nav_项目
在以下上下文中工作
params = {
nav: $('.nav'),
nav_items: params.nav.find('li')
}
ReferenceError: params is not defined (logically true)
我也试过:
params = {
nav: $('.nav'),
nav_items: nav.find('li')
}
ReferenceError: nav is not defined (what is the right way?)
我知道,可以使用以下代码完成:
params = {
nav: $('.nav'),
nav_items: null
}
params.nav_items = nav.find('li');
但是它很有趣,没有额外的代码就可以完成吗?可能太晚了,但忍不住:
var $nav = $('.nav');
params = {
nav: $nav,
nav_items: $nav.find('li')
}
params = (function(a) {
return {nav: a, nav_items: a.find('li')};
})($('.nav'));
您可以将值封装在functions@Steve当前位置我不认为增加一行额外的内容是值得担心的。我将按原样使用:)$nav变成了一个全局的,我正在努力使它成为一个局部的。@Steve
var
使它成为局部的。我想将它用于超过1个元素,超过10个额外的元素会使代码有点混乱。@Steve:在你接受答案后看到了它。无法避免回答,因为您的例外答案不符合您自己的要求。根据内联函数将是一个糟糕的调用。我想将其用于超过1个元素,超过10个额外元素可能会使代码有点混乱。
@asawyer:完全同意您的意见!但是史蒂夫的要求就是这样。