var test1 = function() { console.log('test1');}var test2 = function() { console.log('test2');}(function() { return test1;});为什么输出结果是test2
2 回答
aluckdog
TA贡献1847条经验 获得超7个赞
因为分号的原因,语句被解释成了这样:
var test1 = function() {
console.log('test1');
}
var test2 = function() {
console.log('test2');
}(function() {
return test1;
});
相当于执行了一次test2函数,把分号补全就正常了。
慕侠2389804
TA贡献1719条经验 获得超6个赞
不用写分号,这么写能输出test1
var test1 = function() {
console.log('test1');
}
var test2 = function() {
console.log('test2');
}
-function() {
return test1;
}()()
添加回答
举报
0/150
提交
取消
