欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

Javascript:原型模式类继承

发布时间:2023/12/9 41 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Javascript:原型模式类继承 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
原型模式 每个函数(准确说不是类、对象)都有一个prototype属性,这个属性是一个指针,指向一个对象。 使用原型对象的好处是可以让所有对象实例共享它包含的属性和方法。 1.原型对象 (1)当创建一个新函数,就会为该函数创建一个prototype属性,这个属性指向函数的原型对象。 (2)默认情况下,所有原型对象都会自动获得一个constructor(构造函数)属性,这个属性包含一个指向 prototype属性所在函数  的指针。 (3)实例的内部包含一个指针,叫[[Prototype]]。不过这个指针对脚本则完全不可见(某些浏览器支持一种__proto__来访问)。 2.代码读取属性顺序 首先搜索对象实例本身,没有则继续搜索指针指向的原型对象。 例: function Person(){ } Person.prototype.name="Javascript"; var p1 = new Person(); var p2 = new Person();   p1.name="lufeng"; alert(p1.name);//"lufeng" alert(p2.name);//"Javascript" 使用delete操作符可以完全删除实例属性。 isPrototypeOf():确定对象之间是否存在prototype关系 hasOwnProperty():检测一个属性是存在于实例中,还是存在原型中。 Object.keys()、Object.getOwnPropertyNames():接收一个对象作为参数,返回 一个包含所有可枚举属性的字符串数组。 来看个很蛋疼的类继承(某个HTML5游戏框架): inherit : function(childClass, parentClass) { var Constructor = new Function(); Constructor.prototype = parentClass.prototype; childClass.prototype = new Constructor(); childClass.prototype.constructor = childClass; childClass.superclass = parentClass.prototype; if(childClass.prototype.constructor == Object.prototype.constructor) { childClass.prototype.constructor = parentClass; } } 感觉代码看来比较乱,我画了个图: 创作挑战赛新人创作奖励来咯,坚持创作打卡瓜分现金大奖

总结

以上是生活随笔为你收集整理的Javascript:原型模式类继承的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。