请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于实参与形参同名

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);

问您下 如果是这种情况,变量定义会被提前 如何区分是实参的值还是 函数内部定义的变量的值

正在回答 回答被采纳积分+3

1回答

双越 2018-10-14 17:04:14

没太明白你的问题。你把问题具体到代码中来说明吧。

0 回复 有任何疑惑可以回复我~
  • 提问者 qq_想多了_dqKQU9 #1
    这个就是代码 前面的数字是行号  我也是从牛客网上看的  问这段代码输出结果  我觉得在function中  您看第5行 应该有变量提升吧 把var foo声明提前  但是全局变量跟实参也是foo 第四行跟第五行的赋值我就分不清哪个是实参哪个是函数内部变量了 我咋觉得都应该是函数内部的foo
    回复 有任何疑惑可以回复我~ 2018-10-14 17:12:00
  • 双越 回复 提问者 qq_想多了_dqKQU9 #2
    第四行和第五行的代码,可以看成:var foo = undefined; foo = 3; foo = 2;
    回复 有任何疑惑可以回复我~ 2018-10-14 19:05:43
  • 提问者 qq_想多了_dqKQU9 回复 双越 #3
    那输出结果是undefined 2 1 ?
    回复 有任何疑惑可以回复我~ 2018-10-14 19:14:58
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信