相关疑难解决方法(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中进行函数表达式:

命名函数表达式(NFE):

var boo = function boo () {
  alert(1);
};
Run Code Online (Sandbox Code Playgroud)

匿名函数表达式:

var boo = function () {
  alert(1);
};
Run Code Online (Sandbox Code Playgroud)

并且可以调用它们boo();.我真的不明白为什么/什么时候我应该使用匿名函数,何时我应该使用命名函数表达式.他们之间有什么区别?

javascript function anonymous-function function-expression

90
推荐指数
2
解决办法
2万
查看次数

Javascript - 提升的优先级

在提升中,变量优先于函数定义还是反之亦然?请看下面的代码:

function a()
{
    var x = 10;

    function x() {
        return 20;
    }

    return x;
}
Run Code Online (Sandbox Code Playgroud)

javascript function hoisting

5
推荐指数
1
解决办法
1550
查看次数

为什么在JavaScript中调用命名的已分配函数失败?

以下可能有点无意义,但为什么下面的第一个调用工作而第二个调用失败?

var foo = function bar() {
  console.log("Martini");
}

foo(); // works
bar(); // undefined; i.e. "Uncaught ReferenceError: bar is not defined"
Run Code Online (Sandbox Code Playgroud)

那与范围有关吗?

推论初学者的问题:函数定义"解析" - 但实际上是有效的语法 - 并且是否存在命名指定的匿名函数有意义的任何上下文?

javascript scope function anonymous-function

4
推荐指数
1
解决办法
54
查看次数