日期:2014-05-16  浏览次数:20449 次

刚学JS,代码求解释

var input = 5;  
switch (input) {  
    case 10:  
        function fun1() {  
            alert(10);  
        }  
        break;  
    case 5:  
        function fun1() {  
            alert(5);  
        }  
        break;  
    default:  
        function fun1() {  
            alert("default");  
        }  
        break;  
}

在http://msdn.microsoft.com/zh-cn/library/hh968323.aspx看到这个,直接用这个运行得不到它的那个结果。刚学JS,还没弄明白这里面的object和function什么含义,请大家帮忙解释解释

------解决方案--------------------
它的目的是告诉我们。
在chrome和IE下function在所有执行代码前先编译,且后面的function会覆盖前面的function


因为,我们需要动态分配的函数,很明显,上面那个东西并不是我们希望得到的结果。

所以有下面那段代码。
var input = 5;  
switch (input) {  
    case 10:  
        fun1 = function() {  
            alert(10);  
        }  
        break;  
    case 5:  
        fun1 = function() {  
            alert(5);  
        }  
        break;  
    default:  
        fun1 = function() {  
            alert("default");  
        }  
        break;  
}  

------解决