码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript prototype背后的工作原理

时间:2015-04-16 11:40:00      阅读:158      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!