JavaScript/jQuery变量作用域导致错误



我有一段非常简单的代码片段,需要做一个非常(可能)简单的更改。

我无法访问jQuery脚本中需要的变量:

var Objects; // Used to store stuff
enable_reordering();
function enable_reordering()
{
    $('a.move-object').click(function(){
          Objects.moveMe = $(this);
          $('#image-title').text( $(Objects.moveMe).attr('data-child-title') );
          return false;
    });
}

当我试图将Objects.moveMe的值更改为任何值时,我的浏览器会抱怨没有设置Objects。(Error: Objects is undefined)。

我如何才能在整个脚本中使用函数中的变量?


更新:

错误是由线路引起的

$('#image-title').text( $(Objects.moveMe).attr('data-child-title') );

我第一次尝试使用变量。

尝试:http://jsbin.com/ocodoz/

var a;
alert(a);

a === undefined但在当前作用域中声明。。

您的对象必须设置为对象

var Objects = {};

这不是范围问题。问题是,正如错误所说,Objects就是undefined。看起来你想设置它的一个属性,所以把它初始化为一个对象文字:

var Objects = {};

目前,你正在努力做的是有效的:

undefined.moveMe = $(this);

当你声明一个变量时,它的值是undefined,直到你给它赋值。通过给它赋值一个空的对象文字,你可以设置该对象的属性。

相关内容

  • 没有找到相关文章

最新更新