簡體   English   中英

在函數外部定義的javascript變量在函數內是“未定義的”

[英]A javascript variable defined outside a function is 'undefined' within the function

為什么MM_SYSTEM_RESTART_SECONDS在以下代碼段中undefined

如果var MM_SYSTEM_RESTART_SECONDS = 40; 置於函數內部,然后MM_SYSTEM_RESTART_SECONDS40 ,但如果在函數外部,則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 )

這只是我的意思。 如果在變量聲明之前/之上調用函數,則變量可能未定義。

例如

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/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM