javascript 获取和设置属性

标签 javascript object

我正在尝试使用 javascript 对象,但还没有走得太远。有什么想法为什么这行不通吗?

function Tracking(){
    var choices = new Array();

}

Tracking.prototype.getChoice = function (key){
    return this.choices[key];
}
Tracking.prototype.setChoice = function (choice){
    this.choices.push[choice];
}   

function TrackingChoice(key, choice){
    this.key = key;
    this.choice = choice;
}

......

    var tracking = new Tracking();

    var choices = new Array();
    choices.push(new TrackingChoice("purchase", true));
    choices.push(new TrackingChoice("listing", false));
    choices.push(new TrackingChoice("offers", false));
    choices.push(new TrackingChoice("messages", false));

    tracking.setChoice(choices);


    var a = tracking.getChoice(0);

var a 为空,因为 Tracking 对象中的选择数组仍然为空。这让我很困惑。

最佳答案

尝试这样

   function Tracking(){
    this.choices = []; var count = 0;
    this.getChoice = function (key){
        return this.choices[key];
    };
    this.setChoice = function (choice){
        this.choices[count] = choice;count++;
    };
}
function TrackingChoice(key, choice){
    this.key = key;
    this.choice = choice;
}
var tracking = new Tracking();
var choices = new Array();
tracking.setChoice(new TrackingChoice("purchase", true));
tracking.setChoice(new TrackingChoice("listing", false));
tracking.setChoice(new TrackingChoice("offers", false));
tracking.setChoice(new TrackingChoice("messages", false));
var a = tracking.getChoice(0);

关于javascript 获取和设置属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19873305/

相关文章:

javascript - Angular UI Router - $stateParams 有属性但无法访问它们

javascript - 命名数组和索引数组之间的区别 - javascript

java - 从一个类中构造的对象在另一个类中创建数组列表

c# - 在 C# 中组合两个对象的最有效方法

javascript - nodemailer sendMail 回调函数从未运行

javascript - 如果 Javascript 中不存在默认数组过滤器对象,如何获取它

javascript - 从声明字符串中检索变量的值

javascript - jQuery 计算 NaN

javascript - 如何使用循环构建 JSX

java - 将整数添加到 ArrayList<Integer>