基础问题

0o子若o0 2016-04-20 01:46:58
var asd = function(){
alert(1);
}

function asd(){
alert(1);
}

我想知道这个2个有什么区别,针对asd的命名
...全文
127 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
前端○萌妹 2016-04-20
  • 打赏
  • 举报
回复
一个是给变量赋值了一个匿名函数,一个是函数名
functionsub 2016-04-20
  • 打赏
  • 举报
回复
一般情况下没什么区别。 我知道的区别是,第一种方式声明asd函数,只能在赋值之后调用。 而第二种方法声明的可以在当前作用域任意地方调用。 原因就是变量声明与函数声明的提升问题,第一种属于变量声明后赋值,第二种属于函数声明。 变量声明提升的时候,只是声明被提升,赋值没有被提升。 而函数声明提升的时候,会连函数体一起被提升。
asd();//报错
var asd = function(){
    alert(1);
}
asd();//正常
function asd(){
    alert(1);
}

87,910

社区成员

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

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