原创 HTTP緩存學習

1. 緩存控制Catch-Control max-age:緩存有效期 public:允許其他用戶讀取緩存(公共緩衝服務器) private:只允許特定用戶讀取緩存(公共緩衝服務器) no-catch:不走強緩存,每次都請求服

原创 獲取url參數 牛客

題目描述 獲取 url 中的參數 指定參數名稱,返回該參數的值 或者 空字符串 不指定參數名稱,返回全部的參數對象 或者 {} 如果存在多個同名參數,則返回數組 示例 輸入 http://www.nowcoder.com?k

原创 https安全傳輸建立過程學習

簡單過程 以chrome和bilibili網站通信爲例: 前提:bilibili向CA機構申請證書 首先是bilibili將自己的信息和公鑰放置到證書,然後向CA提交申請,CA覈實確實bilibili身份後用自己的私鑰對證書進行簽

原创 toUpperCase和toLowerCase的實現

實現過程(以小寫轉大寫爲例): 將字符串拆開爲一個一個字符 使用charCodeAt獲取每個字符的ASCII碼 使用String.fromCharCode將ASCII碼-32的結果轉化爲字符 合併轉換後的數組 function

原创 new 和 Object.create()區別

new 和 Object.create()區別 new操作符創建一個對象的過程 創建一個對象obj 將obj連接到原型鏈上,即設置obj.__proto__ = Constructor.prototype 綁定this指向,傳參

原创 react-router理解

react-router理解 1. Provider和Consumer Provider和Comsumer是React提供的兩個原生組件,Provider的value屬性傳遞數據,Provider包裹內的所有Consumer都可

原创 實現一個簡易版的react

實現一個簡易版的react React.createElement 作用:將babel解析的結果轉換成樹形結構 class Element { constructor(type, props) { thi

原创 淺學virtualDom和diff算法

淺學virtualDom和diff算法 virtual Dom 創建virtual Dom /* 實現 */ class Element { constructor(type, props, children) {

原创 148. 排序鏈表 歸併排序 | 快速排序

148. 排序鏈表 在 O(n log n) 時間複雜度和常數級空間複雜度下,對鏈表進行排序。 輸入: 4->2->1->3 輸出: 1->2->3->4 來源:https://leetcode-cn.com/problems/

原创 CSS選擇器及其權重

基本選擇器 選擇器 描述 * 匹配所有元素 E 匹配所有E標籤 .app 匹配所有class="app"的元素 #app 匹配id="app"的元素,僅一個 組合選擇器 選擇器 描述 A

原创 34.在排序數組中查找元素的第一個和最後一個位置--二分查找

34. 在排序數組中查找元素的第一個和最後一個位置 給定一個按照升序排列的整數數組 nums,和一個目標值 target。找出給定目標值在數組中的開始位置和結束位置。 你的算法時間複雜度必須是 O(log n) 級別。 如果數組中

原创 CSS佈局 聖盃和雙飛翼

聖盃佈局和雙飛翼佈局 聖盃佈局和雙飛翼佈局是前端工程師需要日常掌握的重要佈局方式。兩者的功能相同,都是爲了實現一個兩側寬度固定,中間寬度自適應的三欄佈局,都遵循了以下要點: 兩側寬度固定,中間寬度自適應 中間部分在DOM結構上優

原创 983. 最低票價 -- 動態規劃

983. 最低票價 動態規劃 在一個火車旅行很受歡迎的國度,你提前一年計劃了一些火車旅行。在接下來的一年裏,你要旅行的日子將以一個名爲 days 的數組給出。每一項是一個從 1 到 365 的整數。 火車票有三種不同的銷售方式:

原创 合併k個排序鏈表 二分

合併k個排序鏈表 合併 k 個排序鏈表,返回合併後的排序鏈表。請分析和描述算法的複雜度。 輸入: [ 1->4->5, 1->3->4, 2->6 ] 輸出: 1->1->2->3->4->4->5->6 來源:h

原创 面試題 16.03. 交點 - 計算幾何

面試題 16.03. 交點 給定兩條線段(表示爲起點start = {X1, Y1}和終點end = {X2, Y2}),如果它們有交點,請計算其交點,沒有交點則返回空值。 要求浮點型誤差不超過10^-6。若有多個交點(線段重疊