[英]JavaScript Global variable value changes on Function value
为什么我从下面的代码中得到两个不同的结果。 我正在做的唯一更改是将值传递给函数,在第一个代码中,我将全局变量“ count”的值设置为10,在第二个代码中,全局变量(“ count”)值更改为30。
function addTen(count) { count = count + 20; return count; } var count = 10 var result = addTen(count); console.log(count); //10 console.log(result); //30
function addTen(num) { count = num + 20; return count; } var count = 10 var result = addTen(count); console.log(count); //30 console.log(result); //30
在第二个函数中,语句
count = num + 20;
分配给全局变量(这是作用域中的唯一count
)。 要使其仅作为功能范围的局部变量而不影响全局,请使用
var count = num + 20;
在第一个函数中,参数count
隐式声明了这样的局部变量,从而遮盖了同名的全局变量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.