原创 實現一段 js 代碼,輸出當前頁面裏用了多少種不同的 html 標籤

一個關於判斷頁面用了多少種不同的html標籤的題 定義一個數組用於存放相同的元素再定義一個空數組用於存放每一個標籤 希望有大佬提供好的方法 let tags = document.getElementsByTagName

原创 css清除浮動的總結 與 BFC

清除浮動 css使用了浮動 導致了父元素的塌陷問題 要是用清除浮動 父盒子塌陷了 <!DOCTYPE html> <html lang="en"> <head> <style> .container {

原创 實現一個函數 find(nums) 返回 nums 中第三大值的下標,如果不足3個數返回 -1

今日一道題: 實現一個函數 find(nums) 返回 nums 中第三大值的下標,如果不足3個數返回 -1 用的比較簡單的去重方式, 存在一個問題:如果是第三大的數是幾個重複的數,那第三大的數的下標算成啥,這裏沒有解決,希望有大

原创 js實現深拷貝

淺拷貝 當把數組或對象簡單賦值給其他變量的時候,實際上進行的是淺拷貝,淺拷貝是拷貝引用,只是將拷貝後的引用指向同一個對象實例,彼此間的操作還會互相影響。 1. 使用 for in 遍歷 簡單的拷貝對象的屬性,如果屬性是基礎類型則

原创 關於javascript的數據類型判斷

一. jsvascript中的數據類型 原始類型:Boolean,string,number,null,undefined,symbol,BigInt(可以用任 精度表示整數) 特殊: symbol: ES6新增,表示

原创 JavaScript的排序算法實現

前言 說起排序,絕對是每個計算機相關專業的數據結構課本里必須出現的詞,期末考試試卷上最後一題也是跟這個相關,還記得當時的我還是大二,還是那麼的…,當是在課本里學到的排序也是有很多種,我們一般有以下幾種 文章目錄冒泡排序插入排

原创 常用數據處理方法與數組去重

後端傳過來的那麼多數據我們怎麼處理 1. 數組添加值 利用數組的索引添加 let color = ["red", "blue", "green"] // 數組中增加值 // color[1] = "yellow" color[

原创 作用域作用域鏈詳解與常見考題

作用域作用域鏈 [[scopel]: 每個javascript函數都是一個對象, 對象中有些屬性我們可以訪問,但有些不可以,這些屬性僅供javascript引擎存取,[[scopel]就是其中一 個。 [[scope]]指的就是

原创 關於預解析和執行期上下文,看完這個你就都會了

預編譯 簡單理解記憶 函數聲明整體提升 系統會把函數提升到邏輯的最前面 變量 聲明提升 這兩句話不能解決的問題 console.log(a); function a(a) { var a = 234; var a = func

原创 防抖與節流的封裝函數與使用詳解

防抖與節流 爲什麼使用防抖節流? 在前端開發中有一部分的用戶行爲會頻繁的觸發事件執行,而對於DOM操作、資源加載等耗費性能的處理,很可能導致界面卡頓,甚至瀏覽器的崩潰。函數節流(throttle)和函數防抖(debounce)就是

原创 ES6專題--2.什麼?解構賦值這些你必須知道?

變量的解構賦值 所謂的解構賦值,就是把 某個對象或者數組中的數據,當作變量,給解放出來,這樣,今後就能夠當作變量直接使用了!!!; 再也不用每個值一遍遍的用.或者 [] 賦值 解構:將數組的數據或者對象的屬性取出部分作爲變量

原创 redux做一個簡單的todolist

redux一個簡單的使用案例 在使用react的時候能否看自己是否能上手,也就是自己能不能熟練手寫一個todolist這個簡單的功能啦,那麼話不多說,先來看代碼 先看一個主要的組件 import React, { Compon

原创 react-redux 優化簡單的todolist

react-redux 優化簡單的todolist 爲了更好的上手redux我們之前做個redux實現的todolist,那麼可能很容易的感受到其中的繁瑣,爲了解決開發的繁瑣,達到快速開發的目的,我們一般會使用react-redu

原创 前端工程師必須知道的預編譯初探

javascript運行三部曲之令人頭大的預編譯 每個前端工程師必須知道的預編譯 作爲一位入坑或者準備入坑的前端小白,弄懂JavaScript運行步驟是必須的,那麼我們所用的JavaScript運行三部曲是1.語法執行 2.預編譯