[英]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.