在循环中声明变量会浪费内存吗?

时间:2016-05-12 12:37:54

标签: javascript

考虑一下:

var i = 0;
var isEight = false;

while(true){
    if( i === 8) {
        isEight = true;
        break;
    }
    i++;
}

与此相对:

var i = 0;

while(true){
    var isEight = false; // moved declaration inside 
    if( i === 8) {
        isEight = true;
        break;
    }
    i++;
}

这个例子是人为的,但你明白了。当isEight的声明进入循环时,Javascript如何响应?

每次该行运行时是否会分配新的内存空间?如果循环运行很多次,这会是一个严重的问题吗?

更新:自亚历克斯指出,在这种情况下使用let代替var怎么样?

0 个答案:

没有答案