Jai*_*ngh 12 javascript variables jquery global-variables
好的,我在这里看了几个问题但标题相同,但仍无法找到问题的解决方案.我正在研究一个基本的javascript倒计时器,我一直坚持更新a变量的值.
a = 100;
var i = setInterval( function(){ timer( a ); }, 1000 );
function timer( a ){
console.log( a );
if( a < 1 ){
console.log( 'Reaching Stop' );
clearInterval( i );
return;
}
a -= 1;
}
Run Code Online (Sandbox Code Playgroud)
当我减去a-1 的值时,console.log( a )每次应减少1,即
100 99 98 ......
Run Code Online (Sandbox Code Playgroud)
但console.log( a )总是给予100
新手到这里javascript请温柔.谢谢.
Adi*_*dil 12
您不应该传入函数的a参数timer来访问全局变量a.当a传递给timer函数时,使用全局变量的值但是在timer中,参数变量是timer函数的本地变量,并且更改它的值不会改变全局变量的值.这意味着您的代码中有两个变量,a其中一个名称是全局的,另一个是定时器函数的本地变量,您正在更改定时器的局部变量值.
a = 100;
var i = setInterval( timer, 1000 );
function timer() {
console.log( a );
if ( a < 1 ) {
console.log( 'Reaching Stop' );
clearInterval( i );
return;
}
a -= 1;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24759 次 |
| 最近记录: |