当我们声明一个命名函数时,让我们在google chrome控制台中说,如果调用它,那么该函数的内容将被执行。如果我们为该函数创建引用,又如何尝试使用该函数命名该引用,我将得到ReferenceError。
function foo() {
console.log("something");
}
foo(); // will print out "something"
var x = function bar() {
console.log("something x");
}
x(); //will print "something x"
bar(); //throws ReferenceError, bar is not defined.
答案 0 :(得分:1)
在上面的代码function bar(){...}
中,当分配给变量x
时,它充当函数表达式而不是函数声明。函数bar
成为x
的局部变量。根据{{3}}
名称可以与函数表达式一起提供,并且可以在函数内部用于引用自身,
var x = function bar() {
console.log(bar)
console.log("something x");
}
x();