<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • javascript的正確應用方法

    時間:2024-07-23 08:15:37 JavaScript 我要投稿
    • 相關推薦

    關于javascript的正確應用方法

      在JavaScript中,方法往往涉及到上下文,也就是this,因此往往不能直接引用,就拿最常見的console.log("info…")來說,避免書寫冗長的console,直接用log("info…")代替,不假思索的會想到如下語法:

      var log = console.log; log("info…");

      很遺憾,運行報錯:TypeError: Illegal invocation。

      為啥呢?對于console.log("info…")而言,log方法在console對象上調用,因此log方法中的this指向console對象;而我們用log變量指向console.log方法,然后直接調用log方法,此時log方法的this指向的是window對象,上下文不一致,當然會報錯了。

      此時我們可以用bind方法解決這個問題。bind方法允許手動傳入一個this,作為當前方法的上下文,然后返回持有上下文的方法,例如:

      var log = console.log.bind(console); log("info...");

      這樣就不會報錯了。

      但是,bind方法并不支持ie 8以及更低版本的瀏覽器,我們完全可以自己實現一個,很簡單。

      Function.prototype.bind = Function.prototype.bind || function(context){ var _this = this; return function(){ _this.apply(context, arguments); }; };

      核心通過apply方法實現,閉包的經典應用。_this指向當前方法,context指向當前方法的上下文,二者均通過閉包訪問。

      以上所述就是本文的全部內容了,希望大家能夠喜歡。

    【javascript的正確應用方法】相關文章:

    JavaScript常用方法匯總10-25

    JavaScript數組常用方法介紹09-04

    javascript跨域訪問的方法07-09

    javascript編程異常處理的方法08-04

    JavaScript fontcolor方法入門實例07-07

    抽象語法樹在JavaScript中的應用08-18

    使用ajax操作JavaScript對象的方法09-28

    健身的正確方法10-27

    javascript閉包的定義及應用實例分析08-25

    詳解JavaScript中的splice()使用方法08-20

    主站蜘蛛池模板: 9999国产精品欧美久久久久久| 欧美精品色婷婷五月综合| 国产成人精品日本亚洲专区 | 久久99精品久久只有精品| 精品伦精品一区二区三区视频 | 青青草国产精品欧美成人| 久久99精品久久久久久hb无码 | 凹凸69堂国产成人精品视频| 亚洲国产成人精品女人久久久 | 精品国产一区二区三区无码| 日韩精品欧美激情国产一区| 国产精品综合专区中文字幕免费播放 | 国产精品日韩欧美一区二区三区| 国产精品爽爽va在线观看网站| 成人国产精品一区二区视频| 精品无码人妻一区二区三区品| 亚洲精品人成无码中文毛片| 人妻少妇看A偷人无码精品| 国产亚洲精品拍拍拍拍拍| 亚洲日本精品一区二区| 精品视频在线v| www.亚洲精品.com| 91精品国产自产在线观看永久| 久久久一本精品99久久精品88| 伊人久久精品无码二区麻豆| 亚洲成网777777国产精品| 思思久久99热免费精品6| 久久久久久极精品久久久| 精品国产三级a乌鸦在线观看| 国产激情精品一区二区三区| 在线精品视频播放| AAA级久久久精品无码区| 99久久精品无码一区二区毛片 | 亚洲国产精品久久久天堂| 中文字幕一精品亚洲无线一区| 亚洲av午夜国产精品无码中文字| 麻豆精品三级全部视频| 日韩精品一区二区三区视频| 日韩精品在线播放| 亚洲综合精品香蕉久久网 | 一本一本久久aa综合精品|