Javascript继承编解码器

Javascript继承编解码器,javascript,inheritance,Javascript,Inheritance,在下面给出的代码中,我试图输出choc的值和类型,而对于type和milk,我没有定义choc的值和类型。有人能帮我理解如何输出类型吗?我已经在这方面工作了一段时间,但它对我来说并不合适。谢谢 // we set up a base class function Candy() { this.sweet = true; } // create a "Chocolate" class with a "type" argument Chocolate = function(type){

在下面给出的代码中,我试图输出choc的值和类型,而对于type和milk,我没有定义choc的值和类型。有人能帮我理解如何输出类型吗?我已经在这方面工作了一段时间,但它对我来说并不合适。谢谢

// we set up a base class
function Candy() {
    this.sweet = true;
}

// create a "Chocolate" class with a "type" argument
Chocolate = function(type){
    this.type = type;
};

// say that Chocolate inherits from Candy

Chocolate.prototype = new Candy();

// create a "choc" object using the Chocolate constructor 
// that has a "type" of "milk"

var choc = new Object();
choc.type = "milk";

// print the sweet and type properties of choc
console.log(choc.sweet);
console.log(choc.type);
//////这是我改成的,但仍然不起作用//////////

// we set up a base class
function Candy() {
    this.sweet = true;
}

// create a "Chocolate" class with a "type" argument
Chocolate = function(type){
    this.type = type;
};

// say that Chocolate inherits from Candy

Chocolate.prototype = new Candy();

// create a "choc" object using the Chocolate constructor 
// that has a "type" of "milk"

var choc = new Chocolate();
choc.type = "milk";

// print the sweet and type properties of choc
console.log(choc.sweet);
console.log(choc.type);

查看代码的最后四行(它不使用上面的任何内容):

您既没有创建
Chocolate
对象,也没有打印
sweet
属性(因此获得
未定义的

相反,使用

var choc = new Chocolate("milk");
console.log(choc.sweet); // true
console.log(choc.type); // "milk"

您更新的代码对我很有用。

查看代码的最后四行(它没有使用上面的任何内容):

您既没有创建
Chocolate
对象,也没有打印
sweet
属性(因此获得
未定义的

相反,使用

var choc = new Chocolate("milk");
console.log(choc.sweet); // true
console.log(choc.type); // "milk"

你更新的代码对我有用。

为什么你使用
对象
构造函数却说你会使用
巧克力
构造函数?你说“打印甜蜜属性”,但你编码
。值
。我在codecademy上将它改为巧克力构造函数,但仍然不起作用。我运行了你发布的内容的后半部分(用Chrome),这对我很有用。我得到的是
true
,然后是
milk
。如果对你有效,你应该接受你问题的正确答案。为什么你使用
对象
构造函数,而说你会使用
巧克力
构造函数?你说“打印甜蜜属性”,但是你的代码
.value
。我在codecademy上把它改成了巧克力构造器,但仍然不起作用。我运行了你发布的内容的后半部分(用Chrome),这对我来说很有效。我得到的是
true
,然后是
milk
。如果对你有效,你应该接受你问题的正确答案。你是对的,当你打字时,我确实试过了。它仍然有相同的结果。@MrNart:您编辑的代码对我来说非常好。你发现控制台有什么错误吗?谢谢各位,我刚刚刷新了,它正常工作了。谢谢你的帮助!你说得对,你打字的时候我确实试过了。它仍然有相同的结果。@MrNart:您编辑的代码对我来说非常好。你发现控制台有什么错误吗?谢谢各位,我刚刚刷新了,它正常工作了。谢谢你的帮助!