采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
1 var foo=1; 2 (function (foo) { 3 console.log(foo); 4 foo=3; 5 var foo=2; 6 console.log(foo); 7 })(foo); 8 console.log(foo);
问您下 如果是这种情况,变量定义会被提前 如何区分是实参的值还是 函数内部定义的变量的值
没太明白你的问题。你把问题具体到代码中来说明吧。
这个就是代码 前面的数字是行号 我也是从牛客网上看的 问这段代码输出结果 我觉得在function中 您看第5行 应该有变量提升吧 把var foo声明提前 但是全局变量跟实参也是foo 第四行跟第五行的赋值我就分不清哪个是实参哪个是函数内部变量了 我咋觉得都应该是函数内部的foo
第四行和第五行的代码,可以看成:var foo = undefined; foo = 3; foo = 2;
那输出结果是undefined 2 1 ?
登录后可查看更多问答,登录/注册
BAT高级前端工程师亲授,结合真实面试题,提高面试成功几率
944 19
933 17
1.1k 11
1.1k 10
1.0k 10