「已注销」 2009-10-28 18:21
浏览 237
已采纳

请教一段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>

  • 写回答

2条回答 默认 最新

  • JimJin 2009-10-28 19:47
    关注

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

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题