原创 【面試題】按照深度降維數組

按照深度降維數組 剛參加完阿里2020前端第一次筆試,這是其中的一道題目。 由於是問答題,當時寫完沒法測,出來測試了一下沒問題,故記錄一下。 var a = [1,[2,3]]; a.reduceDepth(); // [1,2

原创 【LeetCode】力扣代碼記錄

LeetCode記錄 leetcode簡單題目整理 1. 兩數之和 利用obj或map存儲,查找的時候O(1) 而不必像數組一樣遍歷一遍才能查找O(n) // 兩遍獨立的for循環,O(n) var twoSum = func

原创 【面試常問】瀏覽器存儲+Cookie

瀏覽器存儲 一、localStorage和sessionStorage 只有key和value,字符串存儲 瀏覽器本地存儲,不和服務端通信 1. 方法和屬性 clear() length key() getItem()

原创 【JavaScript】解析URL

JavaScript解析url,返回參數對象 1. split() split()的參數可以是正則表達式 var url = "www.meituan.com/waimai?name=zpj&counts=2&time=150

原创 【JavaScript】順時針打印矩陣的問題

順時針打印矩陣のJavaScript實現 這道題是牛客網上劍指offer的一道題目原題鏈接 1. 遞歸 這個實現思路,重點在於分析log函數內部圈數n與矩陣座標之間的關係,比較複雜 只能打印n*n的方陣 function

原创 【CSS】盒模型+BFC+CSS優先級+display+迴流重繪

從CSS盒模型談起 1. 盒模型Box Model 盒模型由外而內是四部分:margin,border,padding,content。 盒模型有兩種模型:標準模型和IE模型。 content-box的寬高指定content b

原创 【JavaScript】Fibonacci數列

斐波那契數列のJavaScript實現 1. 遞歸 function Fibonacci(n){ if(n < 2) return n; return Fibonacci(n-1) + Fibonacci(n-2); } 2

原创 【CSS】居中相關問題

CSS居中 居中是面試題中經常問到的問題,下面儘量總結記錄一番 內容提要:塊級元素的垂直水平居中 1.flex; 2.絕對定位+偏移:偏移有三種方法a.margin;b.calc();c.transform; 一、行內元素 1

原创 【面試常問】強緩存和協商緩存

WEB緩存機制 1. 類別 數據庫緩存 CDN緩存(Content Delivery Network 內容分發網絡) 代理服務器緩存 瀏覽器緩存(http緩存) 應用層緩存(代碼層面上,通過代碼邏輯將請求過的數據緩存起來) 2

原创 【HTTP】狀態碼學習

HTTP狀態碼 1. 分類 1:信息,服務器收到請求,需要請求者繼續操作 2:成功,操作被成功接受並處理 3:重定向,需要進一步操作以完成請求 4:客戶端錯誤,請求包含語法錯誤或無法完成請求 5:服務端錯誤:服務器在處理請求的過

原创 【一句話博客】JavaScriptの純函數

純函數是指結果只依賴於傳入參數並且不會產生副作用的函數。 JavaScript中純函數三個原則: 只使用內部變量,包括傳入參數。 不產生副作用side effects,不改變外部變量。 相同輸入,永遠相同輸出same inp

原创 【一道小學題】2013個1乘以2013個1

從一道小學題說起 今天刷飛聊,遇到一個題,問11111...1(2013個) * 11111...1(2013個)等於多少 作爲一個程序員,一定要遞歸一下啊 function n1(n){ if(n === 1){ retu

原创 【JavaScript】遍歷對象屬性

遍歷對象屬性 這篇博客的靈感來自於牛客網的一道題:屬性遍歷 題目描述: 找出對象 obj 不在原型鏈上的屬性(注意這題測試例子的冒號後面也有一個空格~) 1、返回數組,格式爲 key: value 2、結果數組不要求順序 1.

原创 【JavaScript】正則表達式相關的API

JavaScript里正則常用API 1. test reg.test(str); // 返回是否包含正則 true/false var str = "abcdefghijkl3mnop2qts"; /\d/.test(str)

原创 【JavaScript高級程序設計】第15章(canvas)

Canvas 基本API getContext var canvas = document.getElementById("myCanvas"); var imgURI = canvas.toDataURL("image/pn