javascript setTimeout 函数中的粗箭头
javascript fat arrow in setTimeout function
<script type="text/javascript">
setTimeout(alert('1'), 1000);
setTimeout(() => alert('a'), 1000); // second setTimeout method
</script>
1) 第二个setTimeout() 语句中的"() =>" 是什么意思?
有时我看到粗箭头前面的() =>表示输入参数,粗箭头后面的语句=>表示实现,但是对于上面的第二个setTimeout()方法,粗箭头似乎不是这个意思是,因为 setTimeout() 确实需要两个输入参数(回调函数和以毫秒为单位的延迟时间),
2) 而在上面第二个setTimeout方法中,=>后面的语句是setTimeout()的入参,不是实现....
arrowFunction 它是 function(){....} 的语法糖,所以实际上
() => {}
==
function() {
}
您正在定义一个函数,它正在调用其他函数:alert
同于:
setTimeout(function() { return alert('a') }, 1000)
它的语法糖也有不同的作用域。
() => {}
相当于:
function(){
}
如果你看到一个没有 {}
的箭头函数,这意味着将返回它右边的值:
() => someVal
相当于:
function(){
return someVal;
}
你的情况:
setTimeout(() => alert('a'), 1000);
等同于:
setTimeout(function(){
return alert('a')
}, 1000);
注意:箭头函数在 IE 上不起作用
<script type="text/javascript">
setTimeout(alert('1'), 1000);
setTimeout(() => alert('a'), 1000); // second setTimeout method
</script>
1) 第二个setTimeout() 语句中的"() =>" 是什么意思?
有时我看到粗箭头前面的() =>表示输入参数,粗箭头后面的语句=>表示实现,但是对于上面的第二个setTimeout()方法,粗箭头似乎不是这个意思是,因为 setTimeout() 确实需要两个输入参数(回调函数和以毫秒为单位的延迟时间),
2) 而在上面第二个setTimeout方法中,=>后面的语句是setTimeout()的入参,不是实现....
arrowFunction 它是 function(){....} 的语法糖,所以实际上
() => {}
==
function() {
}
您正在定义一个函数,它正在调用其他函数:alert
同于:
setTimeout(function() { return alert('a') }, 1000)
它的语法糖也有不同的作用域。
() => {}
相当于:
function(){
}
如果你看到一个没有 {}
的箭头函数,这意味着将返回它右边的值:
() => someVal
相当于:
function(){
return someVal;
}
你的情况:
setTimeout(() => alert('a'), 1000);
等同于:
setTimeout(function(){
return alert('a')
}, 1000);
注意:箭头函数在 IE 上不起作用