相关疑难解决方法(0)

var functionName = function(){} vs function functionName(){}

我最近开始维护其他人的JavaScript代码.我正在修复错误,添加功能,并尝试整理代码并使其更加一致.

以前的开发人员使用两种声明函数的方法,如果背后有原因,我就无法解决.

这两种方式是:

var functionOne = function() {
    // Some code
};
Run Code Online (Sandbox Code Playgroud)
function functionTwo() {
    // Some code
}
Run Code Online (Sandbox Code Playgroud)

使用这两种不同方法的原因是什么?每种方法的优缺点是什么?有一种方法可以通过一种方法完成,而另一种方法无法完成吗?

javascript syntax idioms function

6645
推荐指数
32
解决办法
98万
查看次数

JavaScript中具有相同名称的两个函数 - 这如何工作?

据我所知,function foo() { aaa(); }只是var foo = function(){ aaa() }在JavaScript中.所以添加function foo() { bbb(); }应该覆盖foo变量,或忽略第二个定义 - 这不是重点.关键是应该有一个变量foo.

所以,在这个例子中,me变量应该没有被正确地从里面的方法解决,这是不是在资源管理器8 :-).我通过尝试将它们包装到另一个闭包中来实现这个例子,其中(var)me将是,但我很惊讶它没有必要:

    var foo = {
        bar1 : function me() {
            var index = 1;
            alert(me);
        },
        bar2 : function me() {
            var index = 2;
            alert(me);
        }    
    };

    foo.bar1(); // Shows the first one
    foo.bar2(); // Shows the second one
Run Code Online (Sandbox Code Playgroud)

演示:http: …

javascript closures function strict-mode

17
推荐指数
1
解决办法
3万
查看次数

标签 统计

function ×2

javascript ×2

closures ×1

idioms ×1

strict-mode ×1

syntax ×1