为了账号安全,请及时绑定邮箱和手机立即绑定

一个用表达式声明的函数和同名的用函数声明声明的函数 总是执行表达式

一个用表达式声明的函数和同名的用函数声明声明的函数 总是执行表达式

红糖糍粑 2018-10-19 14:10:23
var getName = function () {console.log(3)}; function getName (){console.log(4)};getName()//3function getName () {console.log(4)}; var getName = function (){console.log(3)}; getName() //依旧是3
查看完整描述

1 回答

?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

var getName = function () {console.log(3)}; //[1]

function getName (){console.log(4)};//[2]

getName()//3 [3]


function getName () {console.log(4)}; //[4]

var getName = function (){console.log(3)}; //[5]

getName() //依旧是3 [6]

==>

function getName (){console.log(4)};//[2]

function getName () {console.log(4)}; //[4]

var getName;//[1]

getName = function () {console.log(3)}; //[1]

getName();//3[3]

//var getName = function (){console.log(3)}; //[5] getName已经声明,var getName;被忽略

getName = function (){console.log(5)};//[5]

getName() //依旧是3 [6]

同名的变量名只申明一次,
变量声明和函数申明都会前提,但是函数申明比变量申明还要提前

查看完整回答
反对 回复 2018-11-21
  • 1 回答
  • 0 关注
  • 644 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信