Javascript jQuery保存局部变量以供以后在代码中使用

Javascript jQuery保存局部变量以供以后在代码中使用,javascript,jquery,variables,get,local,Javascript,Jquery,Variables,Get,Local,我是否可以在函数外部保存或访问局部变量?考虑下面的代码: $( "#droppable2" ).droppable({ activeClass: "ui-state-hover", hoverClass: "ui-state-active", accept: "#draggable3", drop: function( event, ui ) { jdc = $(this).attr("id"); //I

我是否可以在函数外部保存或访问局部变量?考虑下面的代码:

$( "#droppable2" ).droppable({
        activeClass: "ui-state-hover",
        hoverClass: "ui-state-active",
        accept: "#draggable3",
        drop: function( event, ui ) {

            jdc = $(this).attr("id"); //I need to use this value later
            $( this )
                .addClass( "ui-state-highlight" );
                var x = ui.helper.clone();   
                x.appendTo('body');

                var jdi = $("img").attr("id");// I need to use this value later

                $(this).droppable( 'disable' );
        }
    });
是否需要获取两个变量(上面的jdc和jdi)的值,以便以后在函数外部使用

最终目标是获取可拖放容器的id和已拖放元素的内容。

尝试以下操作:

jQuery(element).data(key,value);
// Store arbitrary data associated with the matched elements.
或者在函数外部声明变量

var example;

function abc(){
   example = "12345";
}

abc();

console.log(example);

您可以始终将它们作为数据存储在元素上:

$(this).data('jdi', $('img').attr('id'));
然后,您可以通过另一个对“.data()”的调用从该元素获取它:


您可以将它们定义为全局变量Right我不是100%确定,但只要尝试在初始化时不使用var声明,就可以使其成为全局变量。@kobe,谢谢您的回复。如果我将它们定义为全局变量,我是否能够在函数内部局部更改它们的值,并在函数外部获得更新的值?对不起,如果我听起来很幼稚,我是新手。此外,该项目将有三个这样的函数,其中包含局部变量,我需要在脚本中稍后调用这些变量的值。但我想,如果我让这一个函数工作,我可以继续其他函数。谢谢你可以,但正如其他人建议的那样,你可以使用;和Kei负责实施。非常感谢大家。很有魅力DJust要明确(对于任何新手来说,我就是其中之一,这就是我做错的地方),在函数外部声明变量(var example;)并在函数内部定义变量(example=“12345”)是这个答案的关键。如果在函数内部声明并定义变量(var example=“12345”;),则该函数将不起作用-这将仅在本地(函数内部)应用。简而言之,要全局保存局部变量,请在函数外部声明(使用var)并在函数内部定义(不使用var)。
var theSavedJdi = $('whatever').data('jdi');
var jdc;
var jdi;    

$( "#droppable2" ).droppable({
    activeClass: "ui-state-hover",
    hoverClass: "ui-state-active",
    accept: "#draggable3",
    drop: function( event, ui ) {

        jdc = $(this).attr("id"); //I need to use this value later
        $( this )
            .addClass( "ui-state-highlight" );
            var x = ui.helper.clone();   
            x.appendTo('body');

            jdi = $("img").attr("id");// I need to use this value later

            $(this).droppable( 'disable' );
    }
});