在javascript中使用覆盖变量是不是一种糟糕的做法

Is it the bad practice or not for using override variable in javascript

本文关键字:一种 javascript 覆盖 是不是 变量      更新时间:2023-09-26

我对Javascript的性能还不太了解。我使用了my_var,并在函数中用each()循环一次又一次地覆盖它,如下所示。

function lookupObjs(obj) {
    var my_var = jQuery; //or $
    if (Object.keys(obj).length != 0) {
        return my_var.each(obj, function (ins, val) {
            my_var = ins;
            if (my_var === 'holiday') {    
                console.log("holiday : " + my_var);
            }
            if (my_var === 'work') {    
                console.log("work : " + my_var);
            }
        });
    } else {
        console.log(obj)    
    }
}

您不需要在循环中覆盖my_var,只需使用ins:

return my_var.each(obj, function (ins, val) {
    if (ins === 'holiday') {
        console.log("holiday : " + ins);
    }
    if (ins === 'work') {
        console.log("work : " + ins);
    }
});

以这种方式覆盖变量也不是一种好的做法——如果你只创建具有明显名称的新变量,就会清楚得多;一旦它们超出范围,就会被垃圾收集。

相关文章: