Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用JavaScript声明函数_Javascript_Function - Fatal编程技术网

用JavaScript声明函数

用JavaScript声明函数,javascript,function,Javascript,Function,我有以下代码: function myFunction(){ alert("Hello"); } 以及其他代码: var myFunction = function(){ } 区别是什么?第一个是命名函数,如果您查看堆栈跟踪,您会在调用时看到myFunction 第二个是设置为匿名函数的变量。在堆栈跟踪中,此函数的名称为,这使得在有许多匿名函数时更难跟踪。第一种是用javascript声明函数的常规方法。您可以通过引用其名称myfunction()来调用它 第二个是一个匿名函数,它

我有以下代码:

function myFunction(){
    alert("Hello");
}
以及其他代码:

var myFunction = function(){

}

区别是什么?

第一个是命名函数,如果您查看堆栈跟踪,您会在调用时看到
myFunction


第二个是设置为匿名函数的变量。在堆栈跟踪中,此函数的名称为
,这使得在有许多匿名函数时更难跟踪。

第一种是用javascript声明函数的常规方法。您可以通过引用其名称myfunction()来调用它

第二个是一个匿名函数,它存储在一个变量中,因为函数是javascript中的一级公民。变量myfunction现在保存匿名函数


基本上,第一个是普通函数,而第二个是包含匿名函数的变量

虽然您的陈述是正确的,但它给人的印象是使用匿名函数是不好的。事实并非如此,而且有很多理由支持这一点。最坏的情况是,这是有争议的。我从来没有说过这是坏的,只是很难调试哈哈,有很多时候两者都可以使用,甚至可以一起使用。事实上,匿名函数在提供作用域方面非常好,我正在尝试用它进行自实例化。没问题,正如我所说,它给人的印象是。我只是想让初学者明白一点,他们可能会读到你的评论,认为他们不应该使用匿名函数。第二个更难调试,因为它的名称不会显示在堆栈跟踪中