function f() {
}
f();
f()
是一个表达式语句吗?
我知道一个语句确实需要一个操作,或者至少成功地将
;
附加到它上面。f()
是一个语句吗,因为它正在执行的"操作"是一个函数?或者它正在进行的"操作"是读取f
的值,即undefined
?我理解一个表达式需要求值为一个值。
f()
是否是表达式语句,因为它返回undefined
?
函数声明的执行是表达式语句吗?
是,但请注意,这是一个表达式,是一个语句。
就本质量保证而言;从概念上讲:
function foo() { }
与此相同:
var foo = function() { }
它产生一个表示function foo
的值,这就是为什么你也可以这样做:
var foo;
var bar = ( foo = function() { console.log( 'foo' ); } );
foo(); // This call will succeed
bar(); // Ditto.
这个:
function higherOrderFunction( func ) {
func();
}
higherOrderFunction( function foo() {
console.log( 'foo' );
} );
// or:
higherOrderFunction( function() {
console.log( 'foo' );
} );
(概念上(与以下内容相同:
function higherOrderFunction( func ) {
func();
}
function foo() {
console.log( 'foo' );
}
higherOrderFunction( foo );