JavaScript面向对象(一)

面向对象的意义

  • 数据结构化:对于计算机,结构化才是最简单的
  • 编程应该 简单 抽象

面向对象三要素

继承【子类继承父类】

  • 继承可将公共方法抽离出来,提高复用,减少冗余

封装 【数据的权限和保密】

  • public: 完全开放
  • protect: 对子类开放
  • private: 对自己开放
  • 减少耦合,不该外露的不外露
  • 利于数据和接口的权限管理
  • ES6目前不支持,一般认为_开头的属性是private

多态 【同一接口的不同实现】

  • 同一个接口,不同的表现
  • js应用极少
  • 需要结合java等语言的接口,重写,重载功能
  • 保持子类的开放性和灵活性
  • 面向接口编程

jQuery应用

class JQuery {
    constructor(selector) {
        // 获取节点列表 转换为数组
        let dom = Array.from(document.querySelectorAll(selector))
        // 节点列表长度
        let len = dom ? dom.length : 0
        for (let i = 0; i < len; i++) {
            this[i] = dom[i]
        }
        this.length = len
        this.selector = selector || ''
    }
    append(node) {

    }
    addClass(name) {

    }
    html(data) {

    }
}
window.$ = function (selector) {
    return new JQuery(selector)
}

你可能感兴趣的:(JavaScript面向对象(一))