es6 箭头函数不能提升?

高手坟墓丶 2017-01-03 09:41:53
myFun();
var myFun= () => {console.log("1")}
结果出错了,各位大牛们难道箭头函数不像普通函数那样可以先使用后定义吗?
//Uncaught TypeError: myFun is not a function(…)
...全文
569 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
高手坟墓丶 2017-01-04
  • 打赏
  • 举报
回复
谢谢大家,我知道了,箭头函数就是匿名函数,所以需要先声明再使用结贴了
似梦飞花 2017-01-04
  • 打赏
  • 举报
回复
var myFun= () => {console.log("1")} 你把箭头函数换成function也一样出错啊 你这里是匿名函数赋值给变量 变量先提升后才赋值的 所以一定不行啊
天际的海浪 2017-01-03
  • 打赏
  • 举报
回复
js程序的执行分为函数和变量的声明阶段 与 执行阶段 两个阶段 函数和变量的声明阶段 会先于 执行阶段 进行。 普通函数就是在声明阶段创建的。 箭头函数属于匿名函数,匿名函数是要通过赋值语句赋值给变量,这个赋值的过程是在代码执行阶段进行的,不是在声明阶段,所以没有函数声明提升的特性。
内容概要:本文详细介绍了ES6(ECMAScript 2015)的新特性及其应用实例,涵盖块级作用域变量(let和const)、箭头函数、模板字符串、解构赋值、默认参数、扩展运算符、类与继承、Promise对象、模块化以及其他重要特性如Promise.allSettled、String.prototype.matchAll、可选链操作符(?.)和空值合并操作符(??)。每项特性不仅有详细的解析,还配有具体的代码示例,帮助读者深入理解这些特性的使用方法和应用场景。; 适合人群:对JavaScript有一定了解的前端开发者,特别是希望深入了解ES6新特性和提升开发效率的技术人员。; 使用场景及目标:①掌握ES6新特性,如块级作用域、箭头函数、解构赋值等,提升代码的可读性和维护性;②利用类和继承改进面向对象编程;③通过Promise优化异步编程,提高程序的健壮性和响应速度;④运用模块化特性构建大型应用程序,增强代码复用性和组织性。; 阅读建议:本文内容详实,建议读者结合实际开发场景逐步学习每个特性,并动手实践相关代码示例。对于复杂特性(如类、Promise、模块化),可以通过构建小型项目加深理解。此外,注意区分ES6特性与早期版本JavaScript的区别,以便更好地迁移现有代码。

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧