Jquery 从“var somthing=”定义的函数中获取外部变量值
这是jQuery UI小部件和插件中使用的函数-Jquery 从“var somthing=”定义的函数中获取外部变量值,jquery,jquery-ui,function,var,Jquery,Jquery Ui,Function,Var,这是jQuery UI小部件和插件中使用的函数- var select = function( event, ui ) { var somevariable = 4; } 如何获取此函数外部的var somevariable=的值 将其用作全局变量不起作用: var somevariable; var select = function( event, ui ) { var somevariable = 4; } 在此代码中,当var some
var select = function( event, ui ) {
var somevariable = 4;
}
如何获取此函数外部的var somevariable=的值
将其用作全局变量不起作用:
var somevariable;
var select = function( event, ui ) {
var somevariable = 4;
}
在此代码中,当var somevariable置于var select之前或之后时,它不会获得值“4”=
编辑:为了更详细,我想在另一个函数中使用此变量,如以下jQuery UI插件中:
$( "#id" ).autocomplete({
minLength: 0,
source: function( request, response ) {
if (somevariable == 5)
{
//do something
}
},
open: function( event, ui ) {
somevariable = 5;
}
});
在这种情况下,当open:事件被触发时,源不会检索该值:也许这就是您想要的
var somevariable;
var select = function( event, ui ) {
somevariable = 4;
}
由于第3行没有var,因此somevariable不再是select中的新变量,而是引用第1行声明的变量
如果变量在函数内声明为局部变量,则不能从函数外访问该变量,但可以从该函数内声明的函数访问该变量,并且可以像往常一样传递其值。事实上,它不可能是一个非常强大的功能,它可以作为在Javascript中创建私有作用域的一种手段
也可以考虑通过函数声明声明方法:
var somevariable;
function select(event, ui) {
somevariable = 4
};
优点:略短,提升到顶部-您可以在您定义的位置上方调用它;缺点:它可以被视为一等公民,这稍微不够直观。也许这就是你想要的
var somevariable;
var select = function( event, ui ) {
somevariable = 4;
}
由于第3行没有var,因此somevariable不再是select中的新变量,而是引用第1行声明的变量
如果变量在函数内声明为局部变量,则不能从函数外访问该变量,但可以从该函数内声明的函数访问该变量,并且可以像往常一样传递其值。事实上,它不可能是一个非常强大的功能,它可以作为在Javascript中创建私有作用域的一种手段
也可以考虑通过函数声明声明方法:
var somevariable;
function select(event, ui) {
somevariable = 4
};
优点:略短,提升到顶部-您可以在您定义的位置上方调用它;缺点:它可以被视为一等公民,这稍微不够直观。如果不需要局部变量,请不要使用var。就是这样。你不能,它是一个局部变量,你必须公开它。这不是你的函数,所以你不能碰它?@JanDvorak-但是如果函数不是由变量定义的,就不能调用它。因为真正的函数不使用返回值。如果你不想要局部变量,就不要使用变量。就是这样。你不能,它是一个局部变量,你必须公开它。这不是你的函数,所以你不能碰它?@JanDvorak-但是如果函数不是由变量定义的,就不能调用它。因为实际函数不使用返回值。有没有其他方法可以在全局变量之外存储函数的值?有没有其他方法可以在全局变量之外存储函数的值?