我正在尝试变酷和现代,并使用箭头功能es6 js,但第一次尝试失败。
为什么此箭头函数sumRange不起作用:
var output = sumRange(3);
console.log(output);
sumRange = (num) => {
if(num == 1) return 1;
console.log(num);
return num + sumRange(num - 1);
}
但是此功能确实起作用:
var output = sumRange(3);
console.log(output);
function sumRange(num){
if(num == 1) return 1;
console.log(num)
return num + sumRange(num - 1);
}
答案 0 :(得分:1)
在声明箭头功能之后携带console.log()
。
注意:您未使用任何关键字声明功能。您应该使用let
var
或const
来声明函数。
let sumRange = (num) => {
if(num == 1) return 1;
console.log(num);
return num + sumRange(num - 1);
}
var output = sumRange(3);
console.log(output);
第二个为什么起作用?
因为它是function statement。而且它甚至可以在声明之前使用。
JavaScript中的函数声明被提升到封闭函数或全局范围的顶部。 您可以在声明函数之前使用该函数