【一分钟JavaScript】原型链

476 阅读1分钟

先来发这张著名的图:

原型链原理

  • Object.prototype是最原始的属性,是其他对象的根原型。Object.proto==null
  • 五个基本类型的__proto__指向Object.prototype;
    • Array.prototype
    • Number.prototype
    • String.prototype
    • Boolean.prototype
    • Function.prototype
  • function Function()的__proto__和prototype指向Function.prototype

继续实现

原型链方式

function A(){
	this.say=function(name){
		console.log('hello ' + name);
    }
}
function B(){
	this.mute=function(){
		console.log('I am mute.');
    }
}
B.prototype=new A();
var b=new B();
b.say('migao');
b.mute();

输出:

hello migao
Now I am mute.

查看原型链

b.__proto__     //A
b instanceof B  //true
b instanceof A  //true
A.__proto__     //ƒ () { [native code] }

推荐文章

如果希望更深入了解原型,可以参考这篇文章 (www.cnblogs.com/youxia/p/li…)