原创 基於 npm 的 自動化構建 的簡單學習

學習自 《用 npm script 打造超溜的前端工作流》 1. 從最簡單的 lint 開始 yarn add eslint --dev yarn eslint --init     // 這裏還可以使用 npx eslint --

原创 js 插入排序、快速排序、深度優先遍歷、廣度優先遍歷

查資料的時候發現V8引擎 array.sort() 主要使用了兩種排序:插入排序、快速排序,這裏就實現一下這兩種排序(長度小於 10 的使用插排,大於10的使用快排) 插入排序 先把第一個值當做一個獨立的有序的數組(只有一個的時候,肯定是

原创 網絡安全 學習之 https

通過對 羅劍鋒的《 透視HTTP協議》 進行了學習之後,記錄相關知識點 一個安全的協議是基於 機密性(Secrecy/Confidentiality)是指對數據的“保密”,只能由可信的人訪問,對其他人是不可見的“祕密”,簡單來說就是不能讓

原创 內存優化+運行性能優化

在我前面的文章中,有寫到 V8 的內存管理機制,其中 就有 標記整理 算法 但是如果有同學 對js 語言底層的實現 深入瞭解的話,肯定會疑惑,爲什麼需要整理內存,獲得一個大的連續空間呢? js 是一個 萬物皆對象的語言,functo

原创 webpack 打包之後的代碼學習

心血來潮,看看打包之後的文件是怎麼樣的,如下所示,是簡單的不能再簡單的代碼了 1、只有 簡單 js 的打包 // number.js export default function count (a, b) { return

原创 http 網絡知識摘要

1、DNS 的解析過程 訪問根服務器,他會告訴你 .com 的 頂級服務器 訪問 .com 頂級 服務器,他會告訴你 baidu.com的地址 最後訪問 baidi.com 域名 服務器,得到 www.baidu.com 的 地址 域名

原创 Vue 源碼中 的 diff 以及 對 key 的使用,以及和 react 之間的區別

一直不想寫 vue diff 的過程,因爲 這一塊網絡上講的人實在是太多了,這裏寫了也只不過是拾人牙慧罷了,但是不寫吧,又覺得心癢癢的,畢竟前面寫了一篇 react 源碼中 對 key 的使用 的 首先是幾個工具函數 // 這

原创 重學js 第二篇, 函數式編程

1、什麼是函數式編程 函數式編程,指的是 函數 數學中的 映射關係,並不是單純的指函數本身 純函數,指的是 多次 輸入和輸出 一致的函數 有副作用的函數 指的是 依賴外部變量的 函數,因爲 內部的 執行結果 就變成了 不可控的 le

原创 大前端— js 內存

1.可達的內存 v8 本身有內存回收機制,並且會回收 所有不可達的內存,那麼什麼是 可達的內存呢? 從全局執行上下文出發,能找到的,就被認爲是可達的 如下所示, obj 就是 可達的,而 obj1 obj2 就是不可達的 var

原创 js 裏面 try catch finally 中的 return 問題

1、try catch 我們先來看 下面 的一段代碼 ​ function useTry() { try { return i-- } catch (error) { return 'hh

原创 大前端— 可視化方式的內存管理

內存問題的外在表現: 頁面出現延遲加載,或經常性暫停,不斷地內存溢出,然後回收,頻繁垃圾回收 頁面持續性出現糟糕的性能, 不斷地申請新的內存,內存膨脹 頁面的性能隨時間延長越來越差,內存泄漏 如果出現以上的表現的話,就可以看一看是否是

原创 大前端 — js es6 中的小技巧

1.關於解構 在數組的解構中,如果我只想要 第三個,怎麼辦? 很簡單,我甚至還能夠給這個設置默認值 const arr = [1, 2, 3, 5, 6, 7, 8] const [,,third = 'third'] = arr

原创 js 異步迭代器

同步的迭代器模式 衆所周知,迭代器模式就是在已有的 對象裏 增加一個 迭代函數,然後 通過迭代函數 來執行 對應的函數 const obj = { arr1: [1,2,3,4,5], arr2: [1,2,3,4,5],

原创 flow 的簡單學習

真的只是簡單學習,簡單地記錄 1、安裝 以及開始使用  在當前的目錄執行 yarn add flow --dev 接着 在 要檢查的文件上 添加關鍵字 // @flow // @flow function sum(a: num

原创 typescript 的簡單學習

真的只是簡單學習,簡單地記錄我認爲有意思的部分 1、安裝 以及開始使用  yarn add typescript --dev 然後暴露 對應的配置  yarn tsc --init  可以看到 生成了 一個對應的 文件 tscon