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

js函数形参作用域问题

js函数形参作用域问题

子衿沉夜 2019-03-13 14:15:45
(function e(num){        var num;        console.log(num);        num = 10;    }(100))为什么打印出来是100,我的理解是 var num;不是重定义了num变量吗?应该是undefined啊,求大佬指点迷津.
查看完整描述

4 回答

?
交互式爱情

TA贡献1712条经验 获得超3个赞

已存在的不会重新声明,忽略 var


查看完整回答
反对 回复 2019-04-02
?
杨魅力

TA贡献1811条经验 获得超6个赞

你的写法,会将num =100定义在开头啊,所以num有值 了


查看完整回答
反对 回复 2019-04-02
?
撒科打诨

TA贡献1934条经验 获得超2个赞

相当于函数体里面定义了两次 num ,第二次不赋值是不会有效果的


查看完整回答
反对 回复 2019-04-02
?
繁华开满天机

TA贡献1816条经验 获得超4个赞

声明语句仅有声明功能,不会自动赋值undefined


查看完整回答
反对 回复 2019-04-02
  • 4 回答
  • 0 关注
  • 881 浏览
慕课专栏
更多

添加回答

举报

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