Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对象上下文中的变量_Javascript_Jquery_Variables_Object - Fatal编程技术网

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:完全同意您的意见!但是史蒂夫的要求就是这样。