在线文档教程
JavaScript
错误 | Errors

Errors: Unnamed function statement

Errors: Unnamed function statement

信息

SyntaxError: function statement requires a name [Firefox] SyntaxError: Unexpected token ( [Chrome]

错误类型

SyntaxError

哪里出错了?

代码中有一个函数声明需要一个名字。你需要检查函数是如何定义的,如果你需要为它提供一个名字,或者如果这个函数需要是一个函数表达式,一个IIFE,或者如果函数代码在这个上下文中被正确地放置。

示例

语句与表达式

一个函数语句(或函数声明)需要一个名字是不行的:

function () { return 'Hello world'; } // SyntaxError: function statement requires a name

你可以使用一个函数表达式(赋值)来代替:

var greet = function() { return 'Hello world'; };

或者,你的函数可能是一个IIFE(立即调用的函数表达式),它是一个定义后立即运行的函数。在这种情况下,您将需要更多的大括号:

(function () { })(

标记功能

如果您正在使用功能标签,则仍然需要在function关键字后面提供一个功能名称。这不起作用:

function Greeter() { german: function () { return "Moin"; } } // SyntaxError: function statement requires a name

这将工作,例如:

function Greeter() { german: function g() { return "Moin"; } }

对象方法

如果您打算创建一个对象的方法,您将需要创建一个对象。那么在function关键字之后没有名字的以下语法是有效的。

var greeter = { german: function () { return "Moin"; } };

回调语法

另外,使用回调时检查你的语法。括号和逗号可以很容易地变得困难。

promise.then( function() { console.log("success" } function() { console.log("error" } // SyntaxError: function statement requires a name

正确的是:

promise.then( function() { console.log("success" }, function() { console.log("error" }