首页 > 编程语言 > 详细

JavaScript prototype背后的工作原理

时间:2015-04-16 11:39:46      阅读:205      评论:0      收藏:0      [点我收藏+]
首先从一个函数说起

function fn1(name, age) {

  this.name = name;
  this.age = age;

  this.say = function() {
    alert(‘my name:‘ + this.name + ‘and age:‘+ this.age);
    
   }

}

fn1.prototype.test = function() {
    alert(‘test‘);
}

var f1 = new fn1(‘jm‘,20);

f1.say(); //弹出 my name jm and age 20

f1.test(); //弹出test
这里发生什么事情?

一些其本的东西 我们要知道 每个函数(function)都有一个保留属性 prototype 它返回的是一个对象

这个对象可以写也可以读

每个函数new 出来的对象有一个隐式属性 (__proto_ = fn1.prototype)指向构造函数的原型的!

下面一个图说明prototype动行原理,(图中有参考网上一些资料):

技术分享

JavaScript prototype背后的工作原理

原文:http://www.cnblogs.com/yzenet/p/4431334.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!