使用来自另一个函数的javascript变量

时间:2011-05-17 08:57:42

标签: javascript

  

可能重复:
  How to know variables from different…“namespaces” ?

我的网页中集成了一个网络电话,当有来电时,javascript功能会记录来电者的号码(例如01234 123456)并将其保存为变量inCallingNum

我需要在另一个函数中使用此变量,该函数将信息发送到php页面并将其存储在我们的数据库中。

是否可以从另一个函数访问javascript变量,如果不是,最简单的方法是什么?

编辑:这是我的代码,它目前捕获了inCallingNum变量

    function webphonetojs(varr)
        {
            var eventNotify = '' + varr; 
            //alert("eventNotify = "+eventNotify);
            displaystatus('WEBPHONE SAY: '+eventNotify);

            initcheck();
            var chanelStat = applethandle.API_GetStatus(1); //  get line status
            var chanelStatus = chanelStat.replace(/\s+/g,'');
            if (chanelStatus == 'Ringing')
            {
                var incomming = eventNotify.slice(eventNotify.lastIndexOf(",")+1, eventNotify.length);
                if (incomming == '2')
                {
                    var inCallingNum = eventNotify.split(",", 4); inCallingNum = inCallingNum.toString();
                    inCallingNum = inCallingNum.slice(inCallingNum.lastIndexOf(",")+1, inCallingNum.length);
                    displaystatus('CALLER IS: '+inCallingNum);

}
}
}

4 个答案:

答案 0 :(得分:2)

如果在全局范围内声明变量,则可以访问该变量,只需在两个函数中使用它。

答案 1 :(得分:1)

免责声明:填充全局范围是一个错误的想法。最好从您正在使用的方法返回变量并使用它。话虽如此,这就是你把它放在全球范围内的方式

var bVar = '';

function a() {
  alert(bVar);
}

function b() {
  bVar = 'B just used it';
}

b();
a();

由于bVar属于全局范围,因此任何方法现在都可以访问它。

答案 2 :(得分:0)

这取决于变量inCallingNum的范围。

如果它具有公共范围,那么您可以在另一个功能中访问它 如果它具有私有范围,那么您需要将其更改为公共(或全局)或向其添加getter方法。

答案 3 :(得分:0)

当然可以。您只需将值存储在函数范围之外的变量中。所以你通过输入“var varName ='';”声明一个全局javascript变量在函数的大括号之外并使用该变量。