【发布时间】:2015-03-12 02:50:27
【问题描述】:
var bar = function foo() {
foo = 1;
return foo;
};
bar(); // returns function foo()
为什么会这样?我希望这会返回 1。
【问题讨论】:
-
这不是语法错误吗?你能命名一个这样的匿名函数吗?
-
好吧,如果是语法错误,为什么我的 Firefox 接受该语言?
-
@Thilo 这是 JS,一堆(可能)坏事在技术上是合法的。这是合法的事情。但这并没有多大意义……
foo和bar都将引用相同的函数。 -
不,bar 将代表函数声明返回的内容。
标签: javascript