函数前的Javascript未定义变量
我有一块javascript,它被黑客入侵了,我看到了一个错误“undefined variable-broadcast”函数前的Javascript未定义变量,javascript,variables,Javascript,Variables,我有一块javascript,它被黑客入侵了,我看到了一个错误“undefined variable-broadcast” 功能cdtd(广播){ /*预期日期格式为年月日HH:MM:SS*/ var nextbroadcast=新日期(广播); var now=新日期(); var timeDiff=nextbroadcast.getTime()-now.getTime(); 如果(timeDiff这可能是问题所在: var timer = setTimeout('cdtd(broadcast
功能cdtd(广播){
/*预期日期格式为年月日HH:MM:SS*/
var nextbroadcast=新日期(广播);
var now=新日期();
var timeDiff=nextbroadcast.getTime()-now.getTime();
如果(timeDiff这可能是问题所在:
var timer = setTimeout('cdtd(broadcast)',1000);
您应该在cdtd()
函数上方声明var timer;
,然后在函数下方或外部进行如下设置:
var func = 'cdtd(' + broadcast + ')';
timer = setTimeout(func,1000);
这可能就是问题所在:
var timer = setTimeout('cdtd(broadcast)',1000);
您应该在cdtd()
函数上方声明var timer;
,然后在函数下方或外部进行如下设置:
var func = 'cdtd(' + broadcast + ')';
timer = setTimeout(func,1000);
更改以下行:
var timer=setTimeout('cdtd(广播)'1000);
为此:
var timer=setTimeout(function(){cdtd(broadcast);},1000);
更改以下行:
var timer=setTimeout('cdtd(广播)'1000);
为此:
var timer=setTimeout(函数(){cdtd(广播);},1000)
你试过删除PHP的引号吗?@AlexW我刚试过删除引号,它破坏了脚本。你试过删除PHP的引号吗?@AlexW我刚试过删除引号,它破坏了脚本。不确定这是否是必需的,广播
的值已经可用,它被传递给了fun首先是Action。它应该能够在下次调用时使用它已经得到的。这是我相信doubleJ试图实现的。请看我的答案。如果javascript在php文件中,这会起作用。最初,我有一个类似的问题,因为我不知道如何将变量传递给外部javascript。我不确定这一点是必需的,broadcast
的值已经可用,它首先被传递给函数。它应该能够在下次调用它时使用它已经得到的。这是我相信doubleJ试图实现的。请参阅我的答案。如果javascript在php文件中,这会起作用。我有一个类似的东西,我首先,因为我不知道如何将变量传递给外部javascript。这就解决了它。但我不太清楚为什么。广播在到达该函数之前使用了两次。是的,但在原始代码中,您传递的是字符串“cdtd(broadcast)”,但此参数不支持接受参数的函数,因此javascript引擎正在寻找一个名为cdtd(broadcast)()的函数,它不存在。你需要提供一个匿名函数才能调用一个带有参数的函数。这就解决了问题。但我不太清楚为什么。广播在到达该函数之前使用了两次。是的,但在你的原始代码中,你传递了一个字符串“cdtd(broadcast)”,但此参数不支持使用参数的函数,因此javascript引擎正在寻找一个名为cdtd(broadcast)()的函数,该函数不存在。您需要提供一个匿名函数才能使用参数调用一个函数。