第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

高效準(zhǔn)備前端技術(shù)一面:JS 基礎(chǔ)知識(shí)面試題(二)

標(biāo)簽:
JavaScript

如何用class实现继承

现在一般利用es6extends实现继承,可参考《JS高级程序设计》es5实现继承的方式

如何理解 JS 原型(隐式原型和显式原型)和原型链

原型和实例的关系:每个构造函数都有一个原型对象,原型有 一个属性指回> 构造函数,而实例有一个内部指针指向原型
JS高级程序设计》P238

JavaScript 中是使用构造函数来新建一个对象的(使用clas类实例化),每一个构造函数的内部都有一个 prototype 属性,这个就是显式原型,它的属性值是一个对象,这个对象包含了可以由该构造函数的所有实例共享的属性和方法。当使用构造函数新建一个对象后,在这个对象的内部将包含一个叫做__proto__的属性,这个属性指向构造函数的 prototype 属性对应的值,这个就是隐式原型__proto__

ES5 中新增了一个 Object.getPrototypeOf()方法,可以通过这个方法来获取对象的原型

原型链查找

当访问一个对象的属性时,如果这个对象内部不存在这个属性,那么它就会去它的原型对象里找这个属性,这个原型对象又会有自己的原型,于是就这样一直找下去,也就是原型链的概念。所以这就是新建的对象为什么能够使用 toString() 等方法的原因

原型链的终点是null,因为 Object.prototype.__proto__指向 null

手写一个简易的Jquery

      class Jquery {
        constructor(selector) {
          const result = document.querySelectorAll(selector)
          const length = result.length
          for (let i = 0; i < length; i++) {
            this[i] = result[i]
          }
          this.length = length
          this.selector = selector
        }
        get(index) {
          return this[index]
        }
        each(fn) {
          for (let i = 0; i < this.length; i++) {
            fn(this[i])
          }
        }
        on(type, fn) {
          this.each((elem) => {
            elem.addEventListener(type, fn, false)
          })
        }
      }
      const $ = new Jquery('p')
      console.log($.get(1))
      $.on('click', () => {
        alert('123')
      })
      Jquery.prototype.addClass = function (index, className) {
        this.get(index).classList.add(className)
      }
      $.addClass(2, 'wocainima')
      //   -----------------------------
      class JqueryPlus extends Jquery {
        constructor(selector) {
          super(selector)
        }
        changeStyle(index, key, value) {
          this.get(index).style[key] = value
        }
      }
      const _ = new JqueryPlus('p')
      _.changeStyle(0, 'fontSize', '20px')
      _.changeStyle(0, 'color', 'red')
點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫(xiě)下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消