Javascript 对象 vs var/array

Javascript object vs var/array

我正在学习 JavaScript/HTML/CSS 我有这个:

我的问题是,我这样做、使用数组还是使用 3 个变量是否重要?我只是这样做,因为我认为它看起来更好,但我想知道 "best" 或 "right" 的方法是什么。对于数组,我只能使用 kzh[0]、kzh[1]、kzh[2] 访问数字,对吧?我认为数组看起来更令人困惑,因为你不知道数字代表什么,尤其是当它变得比我的小作业更复杂时。

var kzh = {
    High: 0,
    Medium: 0,
    Low: 0
};

function addKZH(x) {
    kzh[x]++;
    alert(kzh[x]);
}

这对我来说是多余的..

var kzhHigh = 0;
var kzhMedium = 0;
var kzhLow = 0;

function addKZHhigh() {

    kzhHigh++;
    alert(kzhHigh);
}
function addKZHmedium() {

    kzhMedium++;
    alert(kzhMedium);
}
function addKZHlow() {

    kzhLow++;
    alert(kzhLow);
}

是的,对于数组它会变得混乱,因为您只能访问索引而不是 variable/property 的名称。

然而,无论是使用对象属性的方式还是使用自变量和函数的方式都是正确的。但是在编程中我们总是寻找 代码可重用性 并且使用 3 个函数来完成类似的任务并不是一个好主意。此外,由于变量也相关,我们可以使它们成为单个对象的属性,以减少变量的数量,提高可读性并显示它们之间的关系。所以使用对象是我推荐的方式。

var kzh = {
    High:0,
    Medium:0,
    Low:0
};

function addKZH(x) {
        kzh[x]++;
        alert(kzh[x]);
}

addKZH("High");
addKZH("Medium");
addKZH("Low");

javascript 中的数组不仅使用数字作为键。

var kzh = {High:0, Medium:0, Low:0}; kzh['High']++; alert(JSON.stringify(kzh));

输出 --> {高:1, Medium:0, Low:0} https://jsfiddle.net/wmuev1a7/