JavaScript使用Prototype实现面向对象的方法
更新时间:2015年04月14日 11:07:48 作者:秋风秋雨
这篇文章主要介绍了JavaScript使用Prototype实现面向对象的方法,实例分析了Prototype属性的使用技巧,非常具有实用价值,需要的朋友可以参考下
本文实例讲述了JavaScript使用Prototype实现面向对象的方法。分享给大家供大家参考。具体分析如下:
prototype 是 Function 对象的一个属性,这个属性指向另一个对象。 这个对象的所有属性和方法,都会被构造函数的实例继承。
同时 prototype 又存在一个指向构造函数的引用 constructor,这样就成功的构成一个循环引用的原型链结构。
我们可以把那些不变的属性和方法,直接定义在 prototype 对象上, 节省内存开销。
function Cat(name, color) {
this.name = name;
this.color = color;
}
Cat.prototype.type = 'mammal';
Cat.prototype.eat = function() {
console.log('eat fish');
};
var cat1 = new Cat('Kitty', 'white');
var cat2 = new Cat('Smokey', 'black');
console.log(cat1.type); // mammal
console.log(cat1.eta === cat2.eta);
// TRUE, same reference
console.log(cat1.constructor === Cat)
// TRUE, from Person.prototype
希望本文所述对大家的javascript程序设计有所帮助。
相关文章
纯JavaScript实现的兼容各浏览器的添加和移除事件封装
这篇文章主要介绍了纯JavaScript实现的兼容各浏览器的添加和移除事件封装,本文直接给出实现代码,代码中带详细注释,需要的朋友可以参考下2015-03-03
javascript下对于事件、事件流、事件触发的顺序随便说说
向同一个标签 动态的添加事件是 执行的顺序在ie和其他非ie内核的浏览器有所不同 ie是“先进先出 ” 就是最先添加的最先执行,其他非ie内核的浏览器是 “先进后出”,就是 最后添加的事件 先执行。2010-07-07
让innerText在firefox火狐和IE浏览器都能用的写法
下面的代码主要是用来解决firefox浏览器不支持innerText的问题,需要的朋友可以参考下。2011-05-05


最新评论