javascript - setTimeout函数中的javascript胖箭头
问题描述
<script type="text/javascript">
setTimeout(alert('1'), 1000);
setTimeout(() => alert('a'), 1000); // second setTimeout method
</script>
1)第二个setTimeout()语句中“()=>”的含义是什么?
有时我看到胖箭头之前的() => 表示输入参数,而胖箭头之后的语句 => 表示实现,但是对于上面第二个 setTimeout() 方法,胖箭头似乎不是这个意思,因为 setTimeout( ) 确实需要两个输入参数(回调函数和延迟时间,以毫秒为单位),
2)和上面第二种setTimeout方法中,=>后面的语句是setTimeout()的入参,不是实现....
解决方案
它的语法糖也有不同的范围。
() => {}
相当于:
function(){
}
如果你看到一个没有那个的箭头函数{}
意味着它的值将被返回:
() => someVal
相等的:
function(){
return someVal;
}
在你的情况下:
setTimeout(() => alert('a'), 1000);
相当于:
setTimeout(function(){
return alert('a')
}, 1000);
注意:箭头功能在 IE 上不起作用
推荐阅读
- python - 缺少 2 个口味和勺子所需的位置参数?
- .net - 拥有大量大型对象且您永远不想水合的实体 - 推荐的模式是什么?
- regex - 正则表达式搜索字符串的实例然后删除某些字符
- function - 函数有没有办法根据输入返回整数或字符串?
- android - 如何在工具栏中的 SearchView 中处理单击返回箭头
- javascript - 导航回屏幕时反应原生元素按钮组按钮消失
- reactjs - 有没有办法根据 keydown 事件以编程方式触发自动完成?
- graph - 如何在 Stata 中为多个时间段创建不同活动的“堆叠条形图”?
- python - 通过 RTSP 使用相机进行 YOLOv3 对象检测
- python - numpy 安装的一些问题