原型模式
原型对象就是相当于java的static,所有实例对象可以直接用静态的属性或者方法
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script type="text/javascript">//<!--相当于java的类-->function MyClass() {}//想当于创建一个对象var mc = new MyClass()MyClass.prototype.a = 3//类的原型和对象实例的原型是同一个console.log(MyClass.prototype)console.log(mc.__proto__)console.log(MyClass.prototype == mc.__proto__)console.log("---------")//类的原型赋值,实例对象可以直接拿到值,方法也是同理console.log(mc.a)//当我们去访问对象的一个属性或调用对象的一个方法时,它会先自身中寻找,// 如果在自身中找到了,则直接使用。// 如果没有找到,则去原型对象中寻找,如果找到了则使用,// 如果没有找到,则去原型的原型中寻找,依此类推。直到找到Object的原型为止,Object的原型的原型为null,//原型的原型,就是objectconsole.log(mc.__proto__.__proto__)//原型的原型的原型,为nullconsole.log(mc.__proto__.__proto__.__proto__)</script></head>
<body></body>
</html>