gpt4 book ai didi

javascript - 在函数外部定义的 JavaScript 变量在函数内为 'undefined'

转载 作者:行者123 更新时间:2023-12-02 19:48:32 24 4
gpt4 key购买 nike

为什么以下代码段中的 MM_SYSTEM_RESTART_SECONDS undefined

如果var MM_SYSTEM_RESTART_SECONDS = 40;放在函数内部,则MM_SYSTEM_RESTART_SECONDS40,但如果放在函数外部,那么 MM_SYSTEM_RESTART_SECONDS 始终是未定义

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 )

最佳答案

这让我很不舒服。如果您在变量声明之前/之上调用该函数,则该变量可能未定义。

例如

f("before");

var value = 99;
function f(msg)
{
alert("msg=" + msg + " value=" + value);
}

f("after");

结果:

msg=before value=undefined
msg=after value=99

http://jsfiddle.net/qUhQV/4/

关于javascript - 在函数外部定义的 JavaScript 变量在函数内为 'undefined',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9593923/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com