javascript - js在括号中声明的函数,为什么未定义?
PHP中文网
PHP中文网 2017-04-11 11:40:48
[JavaScript讨论组]

根据 @HopEvan 指出这点 补充:
b is not defined 与括号的存在没有关系
去掉括号后依然会报出b is not defined 的错误

感谢 @Clark 提供文档链接
原文中写道:
The name is only local to the function body.
也就是说,在函数声明中,等号右边的函数,其函数名在该函数体外是访问不到的。

PHP中文网
PHP中文网

认证0级讲师

全部回复(9)
PHP中文网

对于函数表达式,后面的那个b只对函数本身可见。

文档看这里

高洛峰

日经问题:

函数表达式的函数名字,它的作用域只在它自身内部,而不是这个函数所在的外部作用域。

怪我咯

就算你不用括号,也是报 b is not defined

PHPz

b() 在这里不是一个函数声明, 而是一个命名函数表达式.

迷茫

这个是一个函数表达式,b可以在function内部被获取到

阿神
声明变量作用域不同
b未进行声明
PHP中文网

b() 或 a

PHP中文网

作用域的问题

高洛峰

console.log(b),这里的b是变量不是函数

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号