函数javascript:匿名但有名称

function javascript : anonymous but with a name?

本文关键字:有名称 javascript 函数      更新时间:2023-09-26

可能重复:
“常规”JavaScript中的函数与函数变量
函数foo()和foo=function()之间有什么区别?

我真的看不出这两个功能之间的区别:

window.send_to_editor = function(html){

function send_to_editor(html) {

他们都有自己的名字,尽管第一个被认为是匿名的?

感谢您的回答

一些事情。。。

  1. 第一个是创建一个匿名函数,然后将其分配给非匿名成员
  2. 第二个实际上是声明函数,并且声明的函数总是被提升

让你更加困惑。。这就是吊装的意义。。。声明的函数被"提升"到顶部,因此以下内容有效。

//call it
funcOne();
//declare it
function funcOne() {
    alert("Why am I working? I thought javascript was top down?!?!?");
}

此外,您还可以命名函数表达式(用于递归调用它们)。这也是有效的

var funcOne = function internalName() {
    internalName();
};

我通常更喜欢通过赋值/表达式创建函数,主要是因为它更准确地描述了函数是第一类值,而不会通过提升行为偶然造成可能的混淆。