非常教程

JavaScript参考手册

错误 | Errors

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");
  }
);

错误 | Errors相关

1.Error
2.error.message
3.error.name
4.Error.prototype
5.error.toString
6.Errors
7.Errors: Already has pragma
8.Errors: Array sort argument
9.Errors: Bad octal
10.Errors: Bad radix
11.Errors: Bad regexp flag
12.Errors: Bad return or yield
13.Errors: Called on incompatible type
14.Errors: Cant access lexical declaration before init
15.Errors: Cant define property object not extensible
16.Errors: Cant delete
17.Errors: Cant redefine property
18.Errors: Cyclic object value
19.Errors: Dead object
20.Errors: Delete in strict mode
21.Errors: Deprecated caller or arguments usage
22.Errors: Deprecated expression closures
23.Errors: Deprecated octal
24.Errors: Deprecated source map pragma
25.Errors: Deprecated String generics
26.Errors: Deprecated toLocaleFormat
27.Errors: Equal as assign
28.Errors: For-each-in loops are deprecated
29.Errors: Getter only
30.Errors: Identifier after number
31.Errors: Illegal character
32.Errors: in operator no object
33.Errors: Invalid array length
34.Errors: Invalid assignment left-hand side
35.Errors: Invalid const assignment
36.Errors: Invalid date
37.Errors: Invalid for-in initializer
38.Errors: Invalid for-of initializer
39.Errors: JSON bad parse
40.Errors: Malformed formal parameter
41.Errors: Malformed URI
42.Errors: Missing bracket after list
43.Errors: Missing colon after property id
44.Errors: Missing curly after function body
45.Errors: Missing curly after property list
46.Errors: Missing formal parameter
47.Errors: Missing initializer in const
48.Errors: Missing name after dot operator
49.Errors: Missing parenthesis after argument list
50.Errors: Missing parenthesis after condition
51.Errors: Missing semicolon before statement
52.Errors: More arguments needed
53.Errors: Negative repetition count
54.Errors: No non-null object
55.Errors: No properties
56.Errors: No variable name
57.Errors: Non configurable array element
58.Errors: Not a codepoint
59.Errors: Not a constructor
60.Errors: Not a function
61.Errors: Not defined
62.Errors: Precision range
63.Errors: Property access denied
64.Errors: Read-only
65.Errors: Redeclared parameter
66.Errors: Reserved identifier
67.Errors: Resulting string too large
68.Errors: Stmt after return
69.Errors: Strict Non Simple Params
70.Errors: Too much recursion
71.Errors: Typed array invalid arguments
72.Errors: Undeclared var
73.Errors: Undefined prop
74.Errors: Unexpected token
75.Errors: Unexpected type
76.Errors: Unterminated string literal
77.Errors: Var hides argument
78.EvalError
79.EvalError.prototype
80.RangeError
81.RangeError.prototype
82.ReferenceError
83.ReferenceError.prototype
84.SyntaxError
85.SyntaxError.prototype
86.TypeError
87.TypeError.prototype
88.URIError
89.URIError.prototype
JavaScript

JavaScript 是一种高级编程语言,通过解释执行,是一门动态类型,面向对象(基于原型)的解释型语言。它已经由ECMA(欧洲电脑制造商协会)通过 ECMAScript 实现语言的标准化。它被世界上的绝大多数网站所使用,也被世界主流浏览器( Chrome、IE、FireFox、Safari、Opera )支持。JavaScript 是一门基于原型、函数先行的语言,是一门多范式的语言,它支持面向对象编程,命令式编程,以及函数式编程。它提供语法来操控文本、数组、日期以及正则表达式等,不支持 I/O,比如网络