
根据 @HopEvan 指出这点 补充:
b is not defined 与括号的存在没有关系
去掉括号后依然会报出b is not defined 的错误
感谢 @Clark 提供文档链接
原文中写道:
The name is only local to the function body.
也就是说,在函数声明中,等号右边的函数,其函数名在该函数体外是访问不到的。
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
对于函数表达式,后面的那个
b只对函数本身可见。文档看这里
日经问题:
就算你不用括号,也是报 b is not defined
b()在这里不是一个函数声明, 而是一个命名函数表达式.这个是一个函数表达式,b可以在function内部被获取到
声明变量作用域不同
b未进行声明
b() 或 a
作用域的问题
console.log(b),这里的b是变量不是函数