繁体   English   中英

无法理解javascript函数的输出

[英]Not able to understand the output of javascript function

我得到5作为以下代码的输出

 function myfunction1(){ number = 5; } function myfunction(number){ number = number + 10; } myfunction1(); myfunction(number); console.log(number); 

我期望对number抛出参考错误。 如果有人可以解释这种行为那就太好了。

通过从不声明number ,javascript解释器将number评估为全局变量。

如果您这样做:

 function myfunction1(){ var number = 5; } function myfunction(number){ number = number + 10; } myfunction1(); myfunction(number); console.log(number); 

这应该引发一个错误,因为现在, number=5仅在myfunction1内部为真

因为全局变量和函数参数的名称相同,所以您要分配给参数。

这应该工作。

 let number; function myfunction1(){ number = 5; } function myfunction(n){ number = n + 10; } myfunction1(); myfunction(number); console.log(number); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM