jquery - 从 "var somthing ="定义的函数内部获取外部变量值

标签 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 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: 事件时,source: 不会检索该值

最佳答案

也许这就是你想要的?

var somevariable;
var select = function( event, ui ) {
    somevariable = 4;
}

由于第 3 行没有 varsomevariable 现在引用了该行声明的变量,而不是成为 select 内的新变量1.

如果一个变量在函数内部被声明为局部变量,则不能从函数外部访问它(但可以从该函数内声明的函数访问它,并且它的值可以像往常一样传递)。事实上,它不能是一个非常强大的功能,它可以作为在 Javascript 中创建私有(private)作用域的一种手段。

<小时/>

此外,请考虑通过函数声明来声明您的方法:

var somevariable;
function select(event, ui) {
  somevariable = 4
};

(优点:稍微短一些,提升到顶部——你可以在你定义的地方上方调用它;缺点:稍微不太直观,可以被视为一等公民)。

关于jquery - 从 "var somthing ="定义的函数内部获取外部变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14820285/

相关文章:

php - 有条件地定义函数

jquery - 如何使图像看起来像闪烁的动画

javascript - Blueimp 文件 uploader - Chrome 文件夹上传限制

php - WooCommerce 管理员订单 AJAX 未收到任何响应?

javascript - 动画背景图像

python - 如何在python中循环2个函数?

javascript - 将悬停叠加应用于 Woocommerce 存档列表

javascript - 如何使用 jQuery UI 检测我拖到窗口外的情况?

android - jQuery UI 可排序和可拖动不适用于 iPad、iPhone 或 Android

python - 这是获取输入数字平均值的好方法吗?