2017-07-30 93 views
-1
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,可我知道为什么它是有问题添加数字1javascript中的局部变量和全局变量

+3

计数器复位到每次调用的第一个 – PRMoureu

+0

@Faruk关于问题1次0,计数器是重置为重置为每次都为零。你可以检查它。 –

+0

每次函数初始化每个调用的值为0的计数器并获得结果1 –

回答

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 
}