首页 > 代码库 > js之prototype理解
js之prototype理解
我们创建的每个函数都有一个prototype属性,这个属性是一个指针,指向一个对象,这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法,也就是说这个prototype通过调用构造函数而创建的那个对象实例的原型。使用原型的好处就是可以让所有对象实例共享它所包含的属性和方法。
例子,通过构造函数创建对象与通过原型模式创建比较。
通过构造函数创建:
function Person(name, age) {//构造函数 首字母一般大写。 this.name = name; this.age = age; this.sayName = function() { alert(this.name); } } var p1 = new Person(‘zhangsan‘, 21); var p2 = new Person(‘lisi‘, 21); alert(p1.sayName == p2.sayName);//false //为什么为false,主要是因为每个方法都会在每个实例上重新创建一遍
原型模式:
function Person(name, age) { this.name = name; this.age = age; } Person.prototype.sayName = function() { alert(this.name); } var p1 = new Person(‘zhangsan‘,21); var p2 = new Person(‘lisi‘, 21); alert(p1.sayName = p2.sayName);//true
js之prototype理解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。