请教一段js代码(不知道他是怎么写的)

<br> var currentTab = &#39;information&#39;;<br> var selectTab = function(index){ // 我这里不明白,function 函数名(){} 是定义一个函数,但是他这个怎么<br> //直接就这样用,不明白啊<br> if(index == 1 ){<br> document.getElementById(&#39;information&#39;).style.display=&#39;&#39;;<br> document.getElementById(&#39;content&#39;).style.display=&#39;none&#39;;<br> document.getElementById(&#39;properties&#39;).style.display=&#39;none&#39;;<br> document.getElementById(&#39;voteshow&#39;).style.display=&#39;none&#39;;<br> info = &#39;current&#39;;<br> document.getElementById(&quot;cont&quot;).attributes[&#39;class&#39;].value = &#39;&#39;;<br> document.getElementById(&quot;prop&quot;).attributes[&#39;class&#39;].value = &#39;&#39;;<br> document.getElementById(&quot;vote&quot;).attributes[&#39;class&#39;].value = &#39;&#39;;<br> }<br> if(index == 2 &amp;&amp; currentTab!=&#39;content&#39;){<br> document.getElementById(&#39;information&#39;).style.display=&#39;none&#39;;<br> document.getElementById(&#39;content&#39;).style.display=&#39;&#39;;<br> document.getElementById(&#39;properties&#39;).style.display=&#39;none&#39;;<br> document.getElementById(&#39;voteshow&#39;).style.display=&#39;none&#39;;<br> document.getElementById(&quot;info&quot;).attributes[&#39;class&#39;].value = &#39;&#39;;<br> document.getElementById(&quot;cont&quot;).attributes[&#39;class&#39;].value = &#39;current&#39;;<br> document.getElementById(&quot;prop&quot;).attributes[&#39;class&#39;].value = &#39;&#39;;<br> document.getElementById(&quot;vote&quot;).attributes[&#39;class&#39;].value = &#39;&#39;;</p> <p>}<br> if(index == 3 &amp;&amp; currentTab!=&#39;properties&#39;){<br> document.getElementById(&#39;information&#39;).style.display=&#39;none&#39;;<br> document.getElementById(&#39;content&#39;).style.display=&#39;none&#39;;<br> document.getElementById(&#39;properties&#39;).style.display=&#39;&#39;;<br> document.getElementById(&#39;voteshow&#39;).style.display=&#39;none&#39;;<br> document.getElementById(&quot;info&quot;).attributes[&#39;class&#39;].value = &#39;&#39;;<br> document.getElementById(&quot;cont&quot;).attributes[&#39;class&#39;].value = &#39;&#39;;<br> document.getElementById(&quot;prop&quot;).attributes[&#39;class&#39;].value = &#39;current&#39;;<br> document.getElementById(&quot;vote&quot;).attributes[&#39;class&#39;].value = &#39;&#39;;</p> <p>}<br> if(index == 4 &amp;&amp; currentTab!=&#39;voteshow&#39;){<br> document.getElementById(&#39;information&#39;).style.display=&#39;none&#39;;<br> content.display=&#39;none&#39;;<br> document.getElementById(&#39;properties&#39;).style.display=&#39;none&#39;;<br> document.getElementById(&#39;voteshow&#39;).style.display=&#39;&#39;;<br> document.getElementById(&quot;info&quot;).attributes[&#39;class&#39;].value = &#39;&#39;;<br> document.getElementById(&quot;cont&quot;).attributes[&#39;class&#39;].value = &#39;&#39;;<br> document.getElementById(&quot;prop&quot;).attributes[&#39;class&#39;].value = &#39;&#39;;<br> document.getElementById(&quot;vote&quot;).attributes[&#39;class&#39;].value = &#39;current&#39;;<br> }</p> <p>} </p> <p>有人说var selectTab = function(index){ }等同于 function selectTab (index) {} 一样<br> 也有人说这是个匿名类,还有人说是把这段函数定义给了selectTab,就是一个对象, 该相信谁的?另外这代码该怎么样优化一下 </p>

javascript 中函数就是一个对象 也可以说是一个类
而且 javascript 中都是弱类型不像其他静态语言强类型
弱类型:变量不用强制声明类型,根据赋给它的具体对象来自动判断
强类型:反之

所以这里可以吧函数赋值给一变量 selectTab;
赋值后selectTab就等同于此函数了(实际就是selectTab此函数的一个指针)

两种方法的区别可以看:

[url]http://www.pjhome.net/article/Javascript/625.htm[/url]