我正在努力理解IT技术方面的内容,请您给我点时间。
function test() {
return 'foo';
}
console.log(test());
test = function() {
return 'bar';
}
console.log(test());
function test(a, b) {
return 'baz';
}
console.log(test());
console.log(test(true));
console.log(test(1, 2));
上述代码输出结果如下:
baz
bar
bar
bar
bar
但由于JavaScript是单线程语言且不存在函数重载的概念,我本以为输出结果应该是:
foo
bar
bar
baz
baz
请问有人能解释一下这是为什么吗?