javascript - 在函数内更改全局变量值

标签 javascript jquery

这是我的简单场景。我在 ready() 函数中定义了一个变量,它分配第一个值。

我在ready() 之外还有一个函数。我想要做的是在我的新函数中使用更改后的变量。

这是我的 JavaScript 代码:

var myFunction = function() {
    // I wanna change Vp value here and wanna 
    // use this function with the new value        
    Vp = "new value";

    myFunction2 (); 
};

$(document).ready(function () {

    var Vp = "first value asign";
    $('#btnAddCustomer').click(myFunction);

    var myFunction2 = function() {
        // I will use Vp variable here with new value
    };
});

最佳答案

丢弃 var 语句。它将值分配给一个新的局部变量,而不是全局变量。

这里:

var Vp = "first assigned value"
var myFunction2;

var myFunction = function() {
    // I wanna change Vp value here and wanna use this function with the new value        

    Vp =  "new value"
    myFunction2(); 

    };

$(document).ready(function () {

    Vp = "first value asign";

    $('#btnAddCustomer').click(myFunction);

    myFunction2 = function() {

    alert(Vp)

    };

});

fiddle :http://jsfiddle.net/XGGvv/10/

现在可以了。

关于 JS 变量作用域的好读物:http://coding.smashingmagazine.com/2009/08/01/what-you-need-to-know-about-javascript-scope/

关于javascript - 在函数内更改全局变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19218031/

相关文章:

php - 通过 jquery 传递的表单变量潜在问题

javascript - 无法接收当前日期

javascript - 添加颜色后,简单的基于 jQuery 的 ascii 动画崩溃

javascript - 从 iframe 内容到对象内容的 jquery 选择器

javascript - 如何将动态参数传递给axios实例

javascript - 在 SharePoint 中加载 JavaScript API - 计时问题

javascript - 如何使用 jQuery 从 <b> 标签中提取粗体文本

javascript - 黑色背景的反弹图表

javascript - 视频取消静音时无法通过 iframe API 播放 YouTube 视频

javascript - 尝试使用无限循环进行水平滑动导航