Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用来自另一个函数的javascript变量_Javascript - Fatal编程技术网

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

使用来自另一个函数的javascript变量,javascript,Javascript,可能重复: 我的网页中集成了一个网络电话,当来电时,javascript函数会记录来电者的号码(例如01234 123456),并将其保存为变量inCallingNum 我需要在另一个函数中使用这个变量,该函数将信息发送到php页面并将其存储在数据库中 可以从另一个函数访问javascript变量吗?如果不可以,最简单的方法是什么 编辑:这是我的代码,它当前捕获inCallingNum变量 function webphonetojs(varr) {

可能重复:

我的网页中集成了一个网络电话,当来电时,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);

}
}
}

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

这取决于变量的范围
inCallingNum

如果它具有公共作用域,则您可以在其他功能中访问它。

如果它有私有作用域,那么您需要将其更改为public(或global)或向其添加getter方法。

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

免责声明:填充全局范围是一个坏主意。最好从正在使用和使用的方法返回变量。话虽如此,这就是你如何把它放在全球范围内

var bVar = '';

function a() {
  alert(bVar);
}

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

b();
a();

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

我个人讨厌使用全局变量,并尽可能避免使用它们,但没有看到任何OP的代码,我想你的解决方案是最可行的!:)嗨,s-buzz,我已经用我正在使用的代码更新了我的问题。您能告诉我需要移动/更改什么才能全局访问它吗?声明
var inCallingNum。在函数内部,在不使用
var
关键字的情况下使用它。如果你这样做,你可以使用全局var
inCallingNum
,而不是本地变量。非常感谢,效果很好:)我想我需要尝试更好地学习javascript。这是一个纯javascript问题,请重新标记。请不要使用虚假标签使您的问题更为明显。