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

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

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

      JS一些概念知識及參考鏈接

      1、setTimeout、setInterval、promise、宏任務、微任務

      先執(zhí)行宏任務整體 script 同步代碼,然后遇到 setTimeout 或者 setInterval 即放到宏任務隊列中,遇到微任務放到微任務隊列中。整體 script 同步代碼執(zhí)行完后再執(zhí)行微任務隊列,執(zhí)行完后再執(zhí)行 setTimeout 那邊的宏任務隊列。

      • macro-task(宏任務):包括整體代碼script,setTimeout,setInterval
      • micro-task(微任務):Promise,process.nextTick

      參考:https://www.jianshu.com/p/92f4506a28d0https://juejin.im/post/59e85eebf265da430d571f89

      2、事件的三種模型

      參考:http://www.rzrgm.cn/leaf930814/p/6980501.html#top

      3、前端路由是怎么實現的

      參考:https://segmentfault.com/a/1190000011967786

      4、防抖函數和節(jié)流函數

      參考:http://www.rzrgm.cn/chenqf/p/7986725.html

      5、webpack實現按需加載

      參考:https://blog.csdn.net/qq_27626333/article/details/76228578

      6、vue中實現路由攔截、http攔截

      參考:https://blog.csdn.net/wang1006008051/article/details/77962942https://blog.csdn.net/qq_39759115/article/details/77185101https://blog.csdn.net/cofecode/article/details/79181894

      7、動態(tài)加載JS腳本

      動態(tài)加載JS腳本時,如果要先判斷動態(tài)加載的腳本是否已經執(zhí)行完畢時,IE瀏覽器可以觀察 script 標簽的 readyState 屬性,其他瀏覽器可以用 onload 方法來完成。

      詳情參考:https://www.jb51.net/article/139481.htm

       8、JS中不同數據類型間進行運算

       參考:https://blog.csdn.net/zlingyun/article/details/82561259

      9、閉包解決for循環(huán)輸出 i 為同一值的問題

      參考:http://www.rzrgm.cn/wgphp/p/7805152.html

       

      11、原型鏈繼承、構造函數繼承、組合式繼承

      (1)原型鏈繼承代碼簡單,易實現,但是子類實例修改父類中的引用類型屬性值時,其他子類實例的該值也將發(fā)生改變。因為通過原型對象 prototype 實現繼承,則原型對象中的所有引用類型值都是復用的,即都是同一個值。并且在創(chuàng)建子類實例時,無法向父類構造函數傳參

      (2)構造函數繼承解決了子類實例對引用類型值的誤修改操作問題,但是每個實例都拷貝一份引用類型值,占用內存大,尤其是方法過多的時候。(函數復用又無從談起了,本來我們用 prototype 就是解決復用問題的)

      (3)組合繼承既解決了子類實例對引用類型值的誤修改操作問題,在創(chuàng)建子類實例時也向父類構造函數傳參,又可以復用一些屬性。在組合繼承中,在父類的原型對象中定義的屬性都是會復用的,而在父類的構造函數里定義的屬性都不是復用的屬性。

      ES6中類的繼承可以看做是組合式繼承的語法糖(簡單理解),但兩者的繼承機制還是不太一樣的。

      參考:http://www.rzrgm.cn/sarahwang/p/6879161.htmlhttp://www.rzrgm.cn/sarahwang/p/9098044.htmlhttp://www.rzrgm.cn/humin/p/4556820.html

       

      12、HTTP和HTTPS

      HTTP的弊端:超文本傳輸協議HTTP協議被用于在Web瀏覽器和網站服務器之間傳遞信息。HTTP協議以明文方式發(fā)送內容,不提供任何方式的數據加密,如果攻擊者截取了Web瀏覽器和網站服務器之間的傳輸報文,就可以直接讀懂其中的信息,因此HTTP協議不適合傳輸一些敏感信息,比如信用卡號、密碼等。

      HTTPS:為了解決HTTP協議的這一缺陷,需要使用另一種協議:安全套接字層超文本傳輸協議HTTPS。為了數據傳輸的安全,HTTPS在HTTP的基礎上加入了SSL協議,SSL依靠證書來驗證服務器的身份,并為瀏覽器和服務器之間的通信加密。但是,加密和解密過程需要耗費系統大量的開銷,嚴重降低傳輸數據的工作效率。

      HTTPS的數據傳輸是用對稱加密的,不過要先用非對稱加密來加密傳輸對稱加密的密鑰,而證書的作用就是證明傳輸過來的非對稱的公鑰就是那個人的。

      比如說服務器和客戶端是通過對稱加密傳輸數據的,但是要使用對稱加密就兩者就必須有一個共同的密鑰,客戶端要想把這個共同的密鑰傳輸給服務器,就必須先對這個密鑰加密。

      客戶端傳輸這個密鑰時使用的是非對稱加密(非對稱加密是公鑰加密的數據只可以通過私鑰解開,私鑰加密的數據有公鑰就可以解開,公鑰是公開的,誰都可以有它的公鑰),服務器端維護一個私鑰和公鑰,不過先要把公鑰傳輸給客戶端,然后客戶端就可以使用公鑰加密數據(即對稱加密算法的密鑰)傳輸給服務器。

      不過客戶端怎么確定收到的公鑰是來自所需要的服務器的而不是黑客的呢?這就要使用到證書了。公證機構CA給服務器頒發(fā)私鑰和證書,證書包括該服務器的基本信息 + 公鑰 + 數字簽名。數字簽名的形成:首先將服務器的基本信息和公鑰通過 hash 算法得到一個 hash 值,然后通過公證機構的私鑰來對該 hash 值進行加密就形成了數字簽名。當服務器把它的證書傳輸給客戶端,客戶端就可以使用公證機構的公鑰來對數字簽名進行解密,得到一個hash值,然后將證書里面的基本信息和公鑰通過使用同樣的 hash 算法來進行計算又得到一個 hash 值,如果兩個 hash 值相同,即可以判斷證書是服務器的證書,公鑰也就是服務器的公鑰,由此就可以得到服務器傳輸過來的公鑰了。

      就像前面所說的一樣,得到公鑰以后客戶端就可以通過該公鑰來對傳輸的數據(即對稱加密算法的密鑰)進行加密,服務器端就可以使用私鑰對數據進行解密,得到將要使用的對稱加密算法的密鑰,然后服務器和客戶端就可以使用對稱加密來進行傳輸數據了。

      參考:https://juejin.im/post/5a7146fd51882573351a9d99#heading-1

      12.1、HTTPS的缺點

      (1)https加重了服務端的負擔,相比于http其需要更多的資源來支撐,同時也降低了用戶的訪問速度

      (2)目前來說大多數網站并不關心數據的安全性和保密性,即https最大的優(yōu)點對它來說并不適用

      (3)https的技術門檻較高,多數個人或者私人網站難以支撐,CA機構頒發(fā)的證書都是需要年費的,此外對接Https協議也需要額外的技術支持

       

      13、JS中的new關鍵字的工作過程

      function Animal(name) {
        this.name = name;
      }
      Animal.color = "black";
      Animal.prototype.say = function () {
        console.log("I'm " + this.name);
      };
      var cat = new Animal("cat");
      
      console.log(
        cat.name,     //cat
        cat.height    //undefined
      );
      cat.say();     //I'm cat
      
      console.log(typeof Animal);
      console.log(
        Animal.name,   //Animal
        Animal.color   //back
      );
      Animal.say();    //Animal.say is not a function

      JS引擎在執(zhí)行 new 關鍵詞那段代碼時,在內部進行了很多工作,用偽代碼模擬其工作流程如下:

      new Animal("cat") = {
          var obj = {};
          obj.__proto__ = Animal.prototype;
          var result = Animal.call(obj,"cat");
          return typeof result === 'object'? result : obj;
      }

      參考:http://www.rzrgm.cn/AaronNotes/p/6529492.html 

       

      14、websocket

      參考:http://www.runoob.com/html/html5-websocket.html、  https://www.zhihu.com/question/20215561

      15、瀏覽器的渲染引擎和JS引擎

      參考:https://blog.csdn.net/BonJean/article/details/78453547、  https://github.com/zwwill/blog/issues/2

      16、瀏覽器緩存機制

      參考:https://www.jianshu.com/p/54cc04190252

      17、JS返回上一頁并刷新頁面

      參考:https://www.jb51.net/article/165478.htm

       

      posted @ 2019-03-31 21:18  wenxuehai  閱讀(312)  評論(0)    收藏  舉報
      //右下角添加目錄
      主站蜘蛛池模板: 日本一区二区三区四区黄色| 欧美成本人视频免费播放| 92久久精品一区二区| 国产成人精品永久免费视频| 337p粉嫩大胆噜噜噜| 2021国产精品视频网站| 精品无人区一码二码三码| 无码av波多野结衣| 日本熟妇人妻一区二区三区| 久久被窝亚洲精品爽爽爽| 无码日韩精品一区二区三区免费| 亚洲精品国产自在现线最新| 国产国产久热这里只有精品| 无套后入极品美女少妇| 老妇女性较大毛片| 亚洲av永久无码精品水牛影视| 国产免费午夜福利在线播放| 亚洲国产无套无码av电影| 中文字幕日韩有码国产| 久热中文字幕在线精品观 | 婷婷五月综合丁香在线| 亚欧洲乱码视频在线观看| 欧美色欧美亚洲高清在线观看| 精品国产迷系列在线观看| 国产精品自拍视频第一页| 亚洲国产精品18久久久久久| 中文字幕乱码一区二区免费| 香蕉久久久久久久av网站| 黄页网址大全免费观看| 亚洲综合区激情国产精品| 人妻系列无码专区69影院| 中文字幕国产精品二区| 亚洲高清国产拍精品网络战| 女同亚洲精品一区二区三| 久久蜜臀av一区三区| 免费a级黄毛片| 亚洲欧美日韩人成在线播放| 中文字幕亚洲综合第一页| 久热久热久热久热久热久热| 青青草原网站在线观看| 成人国产精品中文字幕|