javascript - a()与a的区别?
怪我咯
怪我咯 2017-04-11 12:00:12
[JavaScript讨论组]
function a() { return 4; }
var b = a;
b();     // 4
console.log(b);     //function a() { return 4; }
alert(a == a())     //false

alert(a == a())的结果是false,可是为什么是这样呢?什么时候用a,什么时候用a()?
谢谢

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(4)
阿神

函数名可以当成变量赋值给其他变量
var b = a; b指向了a的函数体,是把这个函数赋值给b变量
var b = a();是把a()的返回值赋值给b变量
所以b()=a()

-------补充------
因为 a是a()
而 a() 是4

阿神

为什么你不console.log(a)看看a到底是什么东西呢?

另外,你这里明明就只执行了一个b(),没见到有执行a,你要判断这俩相等好歹也来一个b() == a的判断吧,我不太懂为什么你就这么钦定了a == a(),这以后学习出了偏差……

PHPz

a是个函数对象,a()是a函数执行后的返回值,题主认为哪里一样了?

PHPz

a是一个函数,a()是a函数执行后的结果

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

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