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()?
谢谢
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()?
谢谢
为什么你不console.log(a)
看看a到底是什么东西呢?
另外,你这里明明就只执行了一个b()
,没见到有执行a
,你要判断这俩相等好歹也来一个b() == a
的判断吧,我不太懂为什么你就这么钦定了a == a()
,这以后学习出了偏差……
10 回答11.6k 阅读
2 回答3.1k 阅读✓ 已解决
3 回答2.7k 阅读✓ 已解决
4 回答2.1k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
3 回答776 阅读✓ 已解决
函数名可以当成变量赋值给其他变量
var b = a; b指向了a的函数体,是把这个函数赋值给b变量
var b = a();是把a()的返回值赋值给b变量
所以b()=a()
-------补充------
因为 a是a()
而 a() 是4