使用旧语法
打印“这是 myfunc1”
myfunc1();
function myfunc1() {
console.log("this is myfunc1");
}
使用es6语法 这会给出错误“myfunc2 不是函数”
myfunc2();
var myfunc2 = () => {
console.log("this is myfunc2");
}
最佳答案
函数声明被提升。
使用 var
关键字的变量声明也会被提升(意味着 Javascript 引擎“知道”变量已被声明)但是,因为赋值不会被提升,变量将包含undefined
,直到执行赋值的代码行被执行为止。
不要考虑这种“旧”和"new"语法。
函数声明、函数表达式和箭头函数都有 different behaviour 。虽然箭头函数是最近才引入该语言的,但它们不能替代函数声明或函数表达式。
关于javascript - 使用 es6 语法在函数声明之前调用函数,为什么会出现 "not a function"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59615447/