Possible Duplicate:
The difference between the two functions? (“function x” vs “var x = function”)
JavaScript: var functionName = function() {} vs function functionName() {}
var test = function() {
var a = 20;
var b = 30;
return a + b;
};
function Add() {
var a = 20;
var b = 30;
return a + b;
}
这两个函数有什么区别?如果我调用 add() 或 test(),它们都会给我相同的结果。 var
到底做了什么?
不能在 block 语句中使用函数声明语法。
法律:
function a() {
function b() {
}
}
非法:
function a() {
if (c) {
function b() {
}
}
}
不过你可以这样做:
function a() {
var b;
if (c) {
b = function() {
};
}
}
对于我们中间的语言 Nerd ,您需要引用规范的第 12.1、13.1 和 14 节。您将找到以下语法说明。
12.1 block
语法
block :
{ 声明列表opt }
声明列表:
声明
StatementList 语句
13函数定义
语法
函数声明:
函数 标识符( FormalParameterListopt ) {函数体}
函数表达式:
函数标识符opt ( FormalParameterListopt ) { FunctionBody }强>
形式参数列表:
标识符
FormalParameterList , 标识符
函数体:
源元素
14程序
语法
程序:
SourceElements选择
源元素:
源元素
SourceElements 源元素
来源元素:
声明
函数声明