Closed. This question is opinion-based。它当前不接受答案。
                            
                        
                    
                
            
                    
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
                        
                        6年前关闭。
                    
                
        

我已经看过...在for语句之前或之后的变量声明。哪个更好?这是一个示例片段。

MC.initAll = function() {
    var iterate = [MC, Su],
        l = iterate.length,
        i,
        key;
    for( i = 0; i < l; i++ ) {
        for( key in iterate[i]) {
            if( iterate[i].hasOwnProperty(key) && iterate[i][key].hasOwnProperty("init") ) {
                iterate[i][key].init();
            }
        }
    }
}


在for语句之外放置函数顶部的优点:


由于使用相同的var语句,因此代码更少
已经吊起,js不必
内部工作更加明确
将通过jshint.com


放入for语句的优点


简单的视觉检查以验证声明是否在功能中发生

最佳答案

这是个人风格。哪个“更好”纯粹是见解。无论var语句出现在何处,javascript解释器都会将所有变量定义提升到变量块的开头。

我个人喜欢将var放在for循环中,这样才不会意外忘记并使用隐式全局变量,但这只是个人风格的选择。我知道其他人喜欢在函数开始时显式声明的所有变量。

10-04 21:19