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()?
谢谢
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
函数名可以当成变量赋值给其他变量
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(),这以后学习出了偏差……a是个函数对象,a()是a函数执行后的返回值,题主认为哪里一样了?
a是一个函数,a()是a函数执行后的结果