这是否是没有静态关键字的javascript的良好替代品?

时间:2010-10-29 14:14:52

标签: javascript static

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";
         }

       }
    } 
 }

然后在你可以调用的范围之外

alert( get_radio_value.url);

基本上你需要做的就是调用函数名点变量,就像使用static关键字的get_radio_value.url insdead一样。这对静态来说是一个很好的替代吗?

1 个答案:

答案 0 :(得分:0)

我认为这是静态行为的合理近似,例如C / C ++。变量是函数的本地变量。

一个不同之处在于您不能仅仅将变量初始化一次。 你可以这样做:

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

但是如果为get_radio_value.url分配了未定义的值,那么它将在函数中重新初始化,下一次循环,这通常没有静态工作。