When it comes to inheritance, JavaScript only has one construct: objects. Each object has a private property which holds a link to another object called its prototype. That prototype object has a prototype of its own, and so on until an object is reached with null as its prototype. By definition, null has no prototype, and acts as the final link in this prototype chain. It is possible to mutate any member of the prototype chain or even swap out the prototype at runtime, so concepts like static dispatching do not exist in JavaScript.

每个实例对象(object)都有一个私有属性(称之为 __proto__)指向它的构造函数的原型对象(prototype)。该原型对象也有一个自己的原型对象(__proto__),层层向上直到一个对象的原型对象为 null。根据定义,null 没有原型,并作为这个原型链中的最后一个环节。

几乎所有 JavaScript 中的对象都是位于原型链顶端的 Object 的实例。

就是说,JavaScript 中的对象都是继承而来,所有的对象都是由一个最简单的对象不断增加特定的功能而形成的。

使用prototype添加属性和方法

Before:

//创建类
function Duck(){
name = "RoastDuck";
age = 18;
hobby = "eat";
}
//添加属性
Duck.prototype.home("China");
//添加方法
Duck.prototype.action=function(){
console.log("Roast is enoding");
};

After:

function Duck(){
name = "RoastDuck";
age = 18;
hobby = "eat";
//添加的属性
home = "China";
//添加的方法
action = function(){
console.log("Roast is enoding");
};
}

最新文章

  1. SQL语句执行效率及分析(note)
  2. 浅谈 switch和if
  3. 【kAriOJ】离散数学春季学期编程测试 1
  4. 浅谈CSS样式png、gif、jpg图片优化的方法
  5. ws318 配置
  6. sql server where、group by、order by 执行顺序
  7. 1023: [SHOI2008]cactus仙人掌图 - BZOJ
  8. 如果iis的配置文件 applicationHost.config坏掉了, 会在 C:\inetpub\history\ 中存储历史备份。复制过去还原就可以了-摘自网络
  9. C 语言字符串(译)
  10. Asp.net 导航条【1】
  11. oralce中exists not exists in not in对于NULL的处理
  12. rhel Linux系统yum的配置
  13. 关于javascript removeChild的那些事
  14. Docker之进入容器(三)
  15. Luogu 2766 - 最长不下降子序列问题 - [LIS问题][DP+网络流]
  16. Disk
  17. spring rest 容易被忽视的后端服务 chunked 性能问题
  18. SQL SERVER利用BCP命令在命令行下导出数据到csv文件中
  19. Android 多用户多缓存的简单处理方案
  20. Python day19 模块介绍3(sys,json,pickle,shelve,xml)

热门文章

  1. 01#Web 实战:雷达图
  2. angular - 另一个ID为#######的进程当前正在运行ngcc
  3. 01-搭建小巧完善的Kubernetes环境
  4. iOS开发之桌面快捷方式Quick Actions
  5. 初涉gulp
  6. class的知识点
  7. javase_note
  8. python接口测试常见问题。
  9. HCIP-ICT实战进阶05-路由策略与策略路由
  10. signalR从外部服务中推送消息和全局参数的设置