导致错误的JavaScript/jQuery变量范围

导致错误的JavaScript/jQuery变量范围,javascript,jquery,variables,global-variables,scope,Javascript,Jquery,Variables,Global Variables,Scope,我有一个非常简单的代码片段和一个非常(可能)简单的更改 我无法访问jQuery脚本中需要的变量: var Objects; // Used to store stuff enable_reordering(); function enable_reordering() { $('a.move-object').click(function(){ Objects.moveMe = $(this); $('#image-title').text(

我有一个非常简单的代码片段和一个非常(可能)简单的更改

我无法访问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
的值更改为任意值时,我的浏览器抱怨对象未设置。(
错误:对象未定义

我怎样才能在整个脚本中使用函数内外的变量呢


更新:

错误是由线路故障引起的

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

我第一次尝试使用变量。

这不是范围问题。问题是,正如错误所说,
对象
未定义的
。看起来您想设置它的属性,因此将其初始化为对象文字:

var Objects = {};
目前,您正在尝试有效地:

undefined.moveMe = $(this);
当您声明一个变量时,它的值是
未定义的
,直到您为它指定了其他值为止。通过为其指定空对象文字,您可以设置该对象的属性。

尝试:

a==未定义,但在当前范围内声明

您的对象必须设置为对象

var Objects = {};

请注意,
$(Object.moveMe)
基本上是在做
$($(this))
,这是多余的。我不确定,但我认为您需要使用var Objects=new Object@pimvdb它将被用于其他功能,这就是为什么需要它。上面的例子只是概述我遇到的问题。没问题,很高兴我能帮忙:)
var Objects = {};