原创 【前端面試】深淺拷貝的方法、手寫深拷貝函數

本文內容: 1、三種方法實現對象的淺拷貝 2、兩種方法實現對象的深拷貝 3、實現簡單的深拷貝函數 淺拷貝 方法1:Object.assign() 數組 let arr = [1, 2, 3, [10, 20, 30]]; le

原创 Javascript之頁面倒計時

本文將從需求實現的角度,逐步講解如何在頁面上實現倒計時效果,其中部分涉及到的知識會做拓展講解,最後將所有代碼封裝,適用於不同情況下倒計時功能的實現。 效果圖 一、分析需求 要實現倒計時效果,可拆解爲以下三個部分進而逐個擊

原创 Javascript之深入淺出遞歸思想

文章目錄一、遞歸函數的理解1、生活中的遞歸2、編程中的遞歸二、遞歸函數的使用實例探索遞歸函數的書寫“套路”步驟1:找到終止條件,寫給 if**步驟2:找到函數的等價關係式,寫給 return**三、遞歸函數的問題總結 一、遞歸函數

原创 Javascript之條件、循環、函數、遞歸、數組、字符串、Date練習題

文章目錄一、條件類判斷三個數的大小,並從小到大排列判斷學生成績是否合格輸入日期,判斷這個日期是這一年的第幾天二、循環類打印1000-2000之間的閏年,每行打印4個打印水仙花數打印1-100之間所有的質數判斷某個數是否是質數打印三

原创 【前端面試】比較call、apply和bind,手寫bind

本文內容 1、比較call、apply、bind的相同點和不同點 2、手寫簡單的call、apply、bind 比較call、apply和bind 相同點 都是用於改變this指向; 傳遞參數時,第一個參數是需要改變成的th

原创 【前端面試】6種方法實現數組扁平化(數組降維)

本文內容 1、介紹數組扁平化(數組降維)的核心思想 2、使用6種方法實現數組扁平化 核心思想 效果 // 源數組:[1, [2, [3, [4, 5]]]] // 降維後數組:[1, 2, 3, 4, 5] 思路 對源

原创 Javascript之網頁版待辦事項

本文使用原生JS實現站點 http://www.todolist.cn/ 的基本功能。 其中頁面的HTML佈局和CSS樣式取用原站,JS部分爲自己編寫。 效果圖 完整代碼 HTML、JS部分 <!DOCTYPE html>

原创 Javascript之盒子拖拽(跟隨鼠標、邊界限定、軌跡回放)

本文通過拖拽案例,實現“跟隨鼠標、邊界限定、軌跡回放”三大效果; 完整代碼中有詳盡註釋,故不再進行細緻講解; 對於案例中需要注意的重點或易錯點問題,會總結在最後。 效果圖(僅演示左、上邊界限定) 完整代碼 <!DOCTYPE

原创 CSS之深入淺出理解BFC

一、BFC是什麼? 官方定義 BFC(Block Formatting Context,塊格式化上下文) 是Web頁面的可視化CSS渲染的一部分,是塊盒子的佈局過程發生的區域,也是浮動元素與其他元素交互的區域。 詳見MDN 看不明