javascript中的局部变量和全局变量

时间:2017-07-30 06:31:31

标签: javascript scope

1. function add() {
var counter = 0;
    return counter = counter + 1;
}

2. var counter = 0;
function add() {
    return counter = counter + 1;
}

问题1和2由于在外部和内部声明的计数器而得到不同的结果。问题2增加了数字1,2,3,4等。但是问题1没有添加数字。它停止了1.我可以知道为什么它会在问题1中添加数字。

1 个答案:

答案 0 :(得分:0)

问题1.无论何时功能将被呼叫计数器将被重置或可以设置为0

function add() {
   var counter = 0;// When function will call counter will set to 0
   return counter = counter + 1;
}

问题2:每当函数调用变量时,计数器将不会再次设置0并且您将获得递增结果

var counter = 0;//Once it will be declare 
function add() {
   return counter = counter + 1;// Counter value increasing when function calling 
}