美文网首页
面向对象、继承

面向对象、继承

作者: 梨啊梨 | 来源:发表于2017-12-31 15:46 被阅读0次

    JavaScript的创建对象方式主要有两种:


    属性类型之高级功能(修改属性默认特性)

    主要通过Object.defineProperty()方法创建

    configurable:属性是否可以删除

    enumerable:属性是否可以用for-in进行循环

    writable:是否可以修改属性

    value:要修改默认特性的值

    构造函数

    函数名首字母一般都用大写字母,其他函数都用小写

    xxx.prototype.xxx:指向原型模式,共享实例的所有属性和方法

    .isPrototypeOf:确定对象之间是否存在原型模式的指向

    .hasOwnProperty:返回true说明该属性访问的是实例属性,false访问的是原型模式属性


    确定原型和实例的关系

    (说实话,这个比java继承复杂多了,迷迷糊糊有点懂,又有点不懂。。。)

    方法一:

    alert(instance instanceof Object)

    alert(instance instanceof 被继承的函数)

    alert(instance instanceof 继承的函数)

    方法二:

    alert(Object.prototype.isPrototypeOf(instance));

    alert(被继承的函数.prototype.isPrototypeOf(instance));

    alert(继承的函数.prototype.isPrototypeOf(instance));


    子类型需要覆盖超类型的某个方法,一定要写在替换原型的语句之后。

    注意:通过原型链实现继承时,不能使用对象字面量创建原型方法,因为这样做会重写原型链

    相关文章

      网友评论

          本文标题:面向对象、继承

          本文链接:https://www.haomeiwen.com/subject/mzyggxtx.html