2010-10-29 93 views
2
function get_radio_value() 
{ 
    for (var i=0; i < document.fm1.gp1.length; i++) 
    { 
     if (document.fm1.gp1[i].checked) 
     { 
     var rad_val = document.fm1.gp1[i].value; 
     if(rad_val == "Last Name"){ 
      get_radio_value.url = "rpc.php"; 
     } 

     } 
    } 
} 

然後範圍之外,你可以撥打這將是一個很好的substiute沒有靜態關鍵字的JavaScript?

alert(get_radio_value.url); 

基本上所有你需要做的就是調用的函數名點變量一樣使用static關鍵字的這種get_radio_value.url insdead。這是否會成爲靜態的優秀代表?

+0

是的,它可能是。 – casablanca 2010-10-29 14:24:07

+0

如果你的意思是一個靜態方法,大多數語言,你沒有這樣使用它。這是最好的語法糖。 – 2010-10-29 14:25:30

+0

@uncle brad:我認爲他意味着一個函數內的靜態變量,就像在C或C++中一樣。 – casablanca 2010-10-29 14:34:39

回答

0

我認爲這是靜態行爲的合理近似,例如, C/C++。該變量是該函數的局部變量。

一個區別是你不能初始化變量一次。 你可以這樣做:

get_radio_value.url = get_radio_value.url || "initial value"; 

但如果get_radio_value.url分配未定義的值,它會在功能重新初始化,下一回,這是不具有靜態正常工作。