js中形参的小练习

es6没怎么看懂,我想把回调看看,看到了关于函数形参很有意思的地方

 var e = 23 function fun(e){ console.log(e) } fun()

这里调用函数时没有传参,但是声明函数时传入了一个形参e,那么结果是多少呢?

结果是:undefined

当调用函数时,如果函数中形参,会默认的在函数内部声明了一个变量var e,但是并没有赋值,所以代码应该变成了个样子

 function fun(e){ var e console.log(e) } fun()

这样的结果就是undefind

还有2个练习,巩固一下基础...

 var a = 123 function fun(a){ alert(a) a=456 } fun() alert(a)

第一个是undefined  第二个是123

声明变量所以undefined,之后又赋值成了456,但是是在函数内部,外部无法访问

 var a = 123 function fun(a){ alert(a) a=456 } fun(123) alert(a)

第一个是123  第二个是123

讲了这么多我就是想告诉大家一句话

定义形参就相当于在函数作用域中声明了变量

...

相关文章