<script type="text/javascript">
function person(name, age) {
this._name = name;
this._age = age;
var _self = this;
this.say = function() {
console.log(this._name + '-' + this._age);
setTimeout(function() {
console.log(_self._name);
}, 2000);
}

}
person.prototype.foot = function() {
console.log("I foot " + this._age);
}

var xiaoming = new person('xiaoming', 18);
xiaoming.foot();
// console.log(JSON.stringify(xiaoming));
</script>

prototype在软件界的意思为原型即表对象的初始形态。JavaScript 中的 prototype。

js的所有function类型的对象都有一个prototype 属性。这个 prototype 属性本身又是一个object 类型的对象,因此可以给这个 prototype 对象添加任意的属性和方法。

在 JavaScript 内部,对象的属性和方法追溯机制是通过所谓的 prototype 链来实现的。当用 new 操作符构造对象时,也会同时将构造函数的 prototype 对象指派给新创建的对象,成为该对象内置的原型对象。对象内置的原型对象应该是对外不可见的,尽管有些浏览器(如 Firefox)可以让我们访问这个内置原型对象,但并不建议这样做。
这就是JavaScript的“继承”
有了继承我们可以对已有对象(包含js内置对象、自定义对象)进行方便的扩展了!

最新文章

  1. 弹出popwindow 背景变暗
  2. 通过ipv6访问 g o o g l e
  3. vmware 虚拟机克隆之后配IP重启网络失败
  4. centos 6 安装
  5. js之阻止事件冒泡(待修改)和阻止默认事件
  6. linux伪文件与proc文件
  7. ubuntu12 环境下编译freerdp
  8. js 调用打印机方法
  9. 【xsy2332】Randomized Binary Search Tree DP+FFT
  10. cnn公式推导
  11. mysql日期相关的函数
  12. 既使用maven又使用lib下的Jar包
  13. (转)MySQL登陆后提示符的修改
  14. 在技术胖博客上学习ES6遇到的坑和想法
  15. cocos2d-x解决中文乱码问题的几种办法
  16. iptables常用配置
  17. 关于js代码位置的第一次总结
  18. Asp.Net MVC中递归死循环问题
  19. PHP超级全局变量、魔术变量和魔术函数的区别和联系
  20. Linux运维一定要知道的六类好习惯和23个教训,避免入坑!

热门文章

  1. failed to load AppCompat ActionBar with unkNown error
  2. Dispatch Sources(转)
  3. leetcode 790. Domino and Tromino Tiling
  4. 人生苦短之Python装饰器
  5. RobotFramework教程使用笔记——时间控件的相关操作
  6. Redis集群与事务
  7. mysql的navicat注册码生成
  8. 通用方法解决UITextFiled输入的时候,键盘遮挡问题
  9. dancing link 精确覆盖 重复覆盖 (DLX)
  10. 出现”/var/lib/mysql/mysql.sock“不存在的解决方法