为什么不是3?
var c = 1
function c(b) {
console.log(b)
}
c(3)
因为JavaScript是解释型语言,执行前有预编译过程,所以函数先完成了赋值,和你书写顺序无关。例如以下代码并不会报错:
aa(5);
function aa(n) {return n};
因为aa的函数定义被提前了。
13 回答12.9k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
6 回答1.1k 阅读
2 回答1.3k 阅读✓ 已解决
等同于
var c
function c(b) {
}
c=1;
c(3)