为什么MM_SYSTEM_RESTART_SECONDS
undefined
位于以下代码段中?
如果将var MM_SYSTEM_RESTART_SECONDS = 40;
放入函数内,则MM_SYSTEM_RESTART_SECONDS
为40
,但如果在函数外部,
然后MM_SYSTEM_RESTART_SECONDS
始终是undefined
。
var MM_SYSTEM_RESTART_SECONDS = 40;
function wait_until_MM_restarts()
{
restart_timeout_start_seconds = get_cookie( "restart_timeout_start_seconds" )
elapsed_restart_seconds = elapsed_seconds( restart_timeout_start_seconds )
append_debug_message( elapsed_restart_seconds + "/" + MM_SYSTEM_RESTART_SECONDS )
if( elapsed_restart_seconds > MM_SYSTEM_RESTART_SECONDS )
答案 0 :(得分:2)
这只是我的意思。如果在变量声明之前/之上调用函数,则变量可能未定义。
例如
f("before");
var value = 99;
function f(msg)
{
alert("msg=" + msg + " value=" + value);
}
f("after");
结果:
msg=before value=undefined
msg=after value=99