Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有人能简单地向我解释一下JavaScript中任务列表上下文中的原型继承是什么吗?非常困惑的新学生_Javascript_List_Prototypal Inheritance_Object Storage - Fatal编程技术网

有人能简单地向我解释一下JavaScript中任务列表上下文中的原型继承是什么吗?非常困惑的新学生

有人能简单地向我解释一下JavaScript中任务列表上下文中的原型继承是什么吗?非常困惑的新学生,javascript,list,prototypal-inheritance,object-storage,Javascript,List,Prototypal Inheritance,Object Storage,这是我不明白的,读到这方面的文章我就不知所措了。我需要一个非常简单的版本来理解它: 创建原型继承:之前,您已经为具有多个属性(任务名称、描述等)的任务创建了通用自定义对象。现在,您将通过创建顶级任务对象和基于类别的不同类型的任务来展示您对原型继承的知识。例如,您可能有一个“杂货店”的任务类别,它与“教育”的任务类别具有不同的属性。但是,这两种类型的任务都需要从父任务对象继承一些通用属性和方法 我也不知道如何将任务存储为对象,或者为什么需要在任务列表的上下文中这样做,以及如何这样做。我想这是原型遗

这是我不明白的,读到这方面的文章我就不知所措了。我需要一个非常简单的版本来理解它:

创建原型继承:之前,您已经为具有多个属性(任务名称、描述等)的任务创建了通用自定义对象。现在,您将通过创建顶级任务对象和基于类别的不同类型的任务来展示您对原型继承的知识。例如,您可能有一个“杂货店”的任务类别,它与“教育”的任务类别具有不同的属性。但是,这两种类型的任务都需要从父任务对象继承一些通用属性和方法

我也不知道如何将任务存储为对象,或者为什么需要在任务列表的上下文中这样做,以及如何这样做。我想这是原型遗传之前的第一步?感谢所有有时间解释的人

我目前的JavaScript高级课程不及格,所以任何提示都非常感谢

$(document).ready(function () {
  var task = {
    name: "",
    description: "",
    status: "",
    eta: "",
    priority: "",
    owner: "",
    initiate() {
      console.log("Starting Task");
      this.status = "IN PROGRESS";
      console.log(this);
    },
    complete() {
      console.log("Ending Task");
      this.status = "COMPLETED";
      console.log(this);
    }
  };

  var education = {
    grade: "",
    studentName: "",
    subjects: [],
    __proto__: task
  };

  var grocery = {
    items: [],
    budget: "",
    spend: "",
    __proto__: task
  };

  education.grade = "10th";
  education.studentName = "Diana";
  education.subjects = ["Science", "History"];
  education.name = "Complete Assignments";
  education.description = "Useful for better grades";
  education.initiate();
  education.complete();
});
上述代码的控制台为:

> "Starting Task"

> [object Object]

> "Ending Task"

> [object Object]
如您所见,教育和杂货店是新的对象,它们现在扩展了原始的“任务”对象。这两个新对象现在基本上继承了“任务”的所有属性和功能


代码笔:

可以分享一些代码吗?非常感谢!!这很清楚,我想我现在明白了!非常感谢,再次感谢您抽出时间为我澄清此事!:)没问题。很高兴我能帮忙。:)