【问题标题】:Is it possible to assign a value from local function to a global variable in javascript是否可以将本地函数中的值分配给javascript中的全局变量
【发布时间】:2014-08-11 17:35:44
【问题描述】:

大家好,我在我的 javascript 文件中声明了一个全局变量。然后我在本地函数中为全局变量赋值。然后当我试图在其他函数中访问该全局变量的值时,该死的警报框是显示“未定义”。有什么方法可以访问其他函数中的局部变量的值。我不想从另一个函数调用该函数并用它发送参数。我只想访问一个函数的局部变量进入另一个功能。 希望有人带我摆脱困境。

谢谢你们。

代码

   var user_glob;
   var pass_glob;
   function osmlogin() {
       var user = document.getElementById('uname').value;
       var passw = document.getElementById('pwd').value;
       user_glob = user;
       pass_glob = passw;
       if (user == '') {
           document.getElementById('wrong_pwd').innerHTML = 'Please give your email_id';
       }
       else if (passw == '') {
           document.getElementById('wrong_pwd').innerHTML = 'Please give your password';
       }
       else {
           var data =
             {
                 username: user,
                 pass: passw

             };


           $.getJSON('some url?jsonp=?', data, function (data) {

               check = JSON.stringify(data['key1']);
               if (check == 1 && user != '' && passw != '') {


                   window.location.href = "#page-dashboard";
               }

               else {

                   // alert(check);

                   document.getElementById('wrong_pwd').innerHTML = 'Wrong Username or Password';
               }

           });
       }
   }

现在我想在这个函数中使用那个全局变量

 function  announcement_view()
 {

var user =user_glob;
var passw = passw_glob;
 var data = {
    username: user,
    pass:passw

 };



$.getJSON('some url?jsonp=?', data, function (data) {

    var check = JSON.stringify(data['key1']);
    alert(JSON.stringify(data['key1']));
    alert(JSON.stringify(data['key2']));


    if (check == 0 && user == '' && passw == '')
    {

        //alert(user_glob);
       window.location.href = "#page-home";
    }



  });
}

【问题讨论】:

  • 这应该根据您的描述工作,但是如果您显示一些代码,它可能会变得清晰。
  • 这正是@RobSchmuecker 所说的。我写了一个关于它的jsfiddle:jsfiddle.net/chrisbenseler/5fhyamfu如果你写一些代码给我们看看会更好。

标签: javascript jquery jquery-ui jquery-mobile


【解决方案1】:

如果你的代码是这样的......

var a;
function f1(){
    a= 1;
}
function f2(){
    alert(a);
}

f1();
f2();

它应该可以正常工作。

确保您在发出警报的函数(在本例中为 f2)之前调用分配值的函数(在本例中为 f1)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-25
    • 1970-01-01
    • 2019-10-21
    • 2020-06-29
    • 2020-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多