<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      <script type="text/javascript">
              // 手寫 call 原理詳解
              // 核心,在目標對象中創建函數方法等于執行的函數,然后用目標對象調用此方法(此時this指向目標對象),然后刪掉創建的方法,返回結果
              // 使用 call apply bind 的都是函數 所以此方法寫在 function 的構造函數 Function 的原型上面
              Function.prototype.mycall = function(content){
      
                  //創建一個變量,這個變量即一個參數傳過來的對象, 所以這個變量為一個對象
                  const context = content || window
                  //此處的 this 為調用 .mycall 的函數,個人覺得,調用 mycall 方法的函數為Function的實例,實例調用原型上的 mycall 此處的 this 則指向實例
                  // console.log(this)
                  //context對象創建 一個函數方法fn 等于函數實例,也就是調用 mycall 的函數
                  context.fn = this
                  //此處獲取除一個參數以后的所有參數
                  const arg = [...arguments].slice(1)
                  //在 context 對象中執行 函數實例,調用者為 context 對象
                  const res = arg.length ? context.fn(...arg) : context.fn(...arg)
                  //為了不影響 context 對象,所以把 context 上掛載的 fn 方法刪掉
                  delete context.fn
                  //返回結果
                  return res
              }
      
              Function.prototype.myApply = function(obj) {
                  const context = obj || window
                  context.fn = this
                  const res = arguments[1] ? context.fn(...arguments[1]) : context.fn()
                  delete context.fn
                  return res
              }
      
              const age = 18
              const obj = {
                  name:'hong',
                  objName : this.age,
                  myFn(){
                      console.log(this.name)
                  }
              }
              const obj1 = {
                  name: 'hong1',
                  age: 18
              }
              // obj.myFn()
              // obj.myFn.call(obj1)
              // obj.myFn.mycall()
              obj.myFn.myApply(obj1)
          </script>

       

      posted on 2020-10-16 22:38  京鴻一瞥  閱讀(231)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 丰满人妻一区二区三区无码AV| 99在线精品免费视频| 艳妇乳肉豪妇荡乳在线观看| 二区三区亚洲精品国产| 熟妇人妻av无码一区二区三区 | 少妇熟女久久综合网色欲| 又黄又爽又色的少妇毛片| 亚洲精品麻豆一二三区| 久久综合亚洲鲁鲁九月天| 又爆又大又粗又硬又黄的a片| 免费人成网站免费看视频| 一区二区在线观看成人午夜| 综合激情网一区二区三区| 国产成a人片在线观看视频下载| 国产精品三级一区二区三区| 欧美丰满熟妇xxxx性ppx人交| 久热天堂在线视频精品伊人| 国产一区二区亚洲一区二区三区| 日韩一区二区三区无码a片| 久久国产成人高清精品亚洲| 一区二区三区日本久久九| 国产成人a在线观看视频| 平遥县| 人妻中文字幕亚洲一区| 亚洲一区在线观看青青蜜臀| 亚洲中文字幕成人无码| 国产精品一区二区色综合| 国产福利姬喷水福利在线观看| 依依成人精品视频在线观看| 一区二区三区激情免费视频| 久久国产成人精品av| 妓院一钑片免看黄大片| 久久这里都是精品一区| 久久精品波多野结衣| 非会员区试看120秒6次| 亚洲欧美日韩成人综合一区| 国产性色的免费视频网站| 日韩精品一区二区亚洲av| 精品国产午夜肉伦伦影院| 日韩午夜福利视频在线观看| 又白又嫩毛又多15p|