Javascript 对象与 var/array

标签 javascript arrays var

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

我的问题是,如果我这样做、使用数组或使用 3 个变量,这有什么关系吗?我只是这样做,因为我认为它看起来更好,但我想知道“最好”或“正确”的方法是什么。对于数组,我只能使用 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);
}

最佳答案

是的,对于数组,它会变得令人困惑,因为您只能访问索引,而不能访问变量/属性的名称。

但是,使用对象属性以及自变量和函数的方式使用都是正确的。但在编程中,我们总是寻求代码可重用性,并且使用 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/array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46618100/

相关文章:

javascript - 如何从 AngularJS 中的对象数组创建一个类似于对象的空对象?

javascript - 从 JavaScript 调用 jQuery 函数

javascript - 使用 CSS 或 JavaScript 在网页中使用 Photoshop 风格的混合模式?

javascript - 为什么 JavaScript 中的 IF 语句允许重新声明变量

Javascript - 日期计算中的意外行为

javascript - true 时 jQuery 禁用选项

ios - Swift:从接口(interface)类型数组转换为对象数组崩溃

php - 关联数组第二高值与键

javascript - 迭代数组中的对象中的数组

ios - swift 全局变量字符串返回 nil