<br> var currentTab = 'information';<br> var selectTab = function(index){ // 我这里不明白,function 函数名(){} 是定义一个函数,但是他这个怎么<br> //直接就这样用,不明白啊<br> if(index == 1 ){<br> document.getElementById('information').style.display='';<br> document.getElementById('content').style.display='none';<br> document.getElementById('properties').style.display='none';<br> document.getElementById('voteshow').style.display='none';<br> info = 'current';<br> document.getElementById("cont").attributes['class'].value = '';<br> document.getElementById("prop").attributes['class'].value = '';<br> document.getElementById("vote").attributes['class'].value = '';<br> }<br> if(index == 2 && currentTab!='content'){<br> document.getElementById('information').style.display='none';<br> document.getElementById('content').style.display='';<br> document.getElementById('properties').style.display='none';<br> document.getElementById('voteshow').style.display='none';<br> document.getElementById("info").attributes['class'].value = '';<br> document.getElementById("cont").attributes['class'].value = 'current';<br> document.getElementById("prop").attributes['class'].value = '';<br> document.getElementById("vote").attributes['class'].value = '';</p> <p>}<br> if(index == 3 && currentTab!='properties'){<br> document.getElementById('information').style.display='none';<br> document.getElementById('content').style.display='none';<br> document.getElementById('properties').style.display='';<br> document.getElementById('voteshow').style.display='none';<br> document.getElementById("info").attributes['class'].value = '';<br> document.getElementById("cont").attributes['class'].value = '';<br> document.getElementById("prop").attributes['class'].value = 'current';<br> document.getElementById("vote").attributes['class'].value = '';</p> <p>}<br> if(index == 4 && currentTab!='voteshow'){<br> document.getElementById('information').style.display='none';<br> content.display='none';<br> document.getElementById('properties').style.display='none';<br> document.getElementById('voteshow').style.display='';<br> document.getElementById("info").attributes['class'].value = '';<br> document.getElementById("cont").attributes['class'].value = '';<br> document.getElementById("prop").attributes['class'].value = '';<br> document.getElementById("vote").attributes['class'].value = 'current';<br> }</p> <p>} </p> <p>有人说var selectTab = function(index){ }等同于 function selectTab (index) {} 一样<br> 也有人说这是个匿名类,还有人说是把这段函数定义给了selectTab,就是一个对象, 该相信谁的?另外这代码该怎么样优化一下 </p>
javascript 中函数就是一个对象 也可以说是一个类
而且 javascript 中都是弱类型不像其他静态语言强类型
弱类型:变量不用强制声明类型,根据赋给它的具体对象来自动判断
强类型:反之
所以这里可以吧函数赋值给一变量 selectTab;
赋值后selectTab就等同于此函数了(实际就是selectTab此函数的一个指针)
两种方法的区别可以看: