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

为什么将函数c赋值给变量b,在函数体里面,给c赋值,为什么会失败

为什么将函数c赋值给变量b,在函数体里面,给c赋值,为什么会失败

慕后森 2019-02-26 13:12:36
为什么将函数c赋值给变量b,在函数体里面,给c赋值,为什么会失败?也就是这代码执行时为什么c打印出来的不是3var  b = function c () {    a=1, b=2, c=3;    console.log(a);    console.log(b);    console.log(c);}b();
查看完整描述

2 回答

?
HUH函数

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

可以看下这篇文章,大概意思是命名函数表达式NFE的名字是存在一个辅助特殊对象(auxiliary special object)中的,而且是只读的,所以在非严格模式下修改会静默失败,如果这段函数内部在严格模式下运行会报错Uncaught TypeError: Assignment to constant variable.,其他答案中说的c被定义成全局是不对的,可以试一下把console.log(c)改成console.log(window.c)也是undefined

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

添加回答

举报

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