原创 如何提升項目的本地構建效率?

前言 最近寫H5的項目比較多,該項目從年齡上看着還算比較年輕😂,整個架構應該是直接使用vue-cli基於vue2生成的,那底層打包工具自然也就是webpack,我們知道webpack有個通病,那就是隨着項目的不斷增大每次構建的時間也會隨之越

原创 Object.keys的‘詭異’特性,你值得收藏!

先從‘詭異’的問題入手 例1: 純Number類型的屬性 const obj = { 1: 1, 6: 6, 3: 3, 2: 2 } console.log('keys', Object.keys(obj)) //

原创 探索JavaScript執行機制

前言 不論是工作還是面試,我們可能都經常會碰到需要知道代碼的執行順序的場景,所以打算花點時間徹底搞懂JavaScript的執行機制。 如果這篇文章有幫助到你,❤️關注+點贊❤️鼓勵一下作者,文章公衆號首發,關注 前端南玖 第一時間獲取最新的

原创 如何從性能角度選擇數組的遍歷方式

前言 本文講述了JS常用的幾種數組遍歷方式以及性能分析對比。 如果這篇文章有幫助到你,❤️關注+點贊❤️鼓勵一下作者,文章公衆號首發,關注 前端南玖 第一時間獲取最新的文章~ 數組的方法 JavaScript發展到現在已經提供了許多數組的

原创 超詳細講解頁面加載過程

經典面試題:從輸入URL到頁面加載完成之間的過程。你會發現,這題不論大廠小廠,都會問,爲什麼? 因爲它不僅可以考察面試者的知識廣度還能考察面試者的知識深度。 前言 如果這篇文章有幫助到你,❤️關注+點贊❤️鼓勵一下作者,文章公衆號首發,

原创 這些瀏覽器面試題,看看你能回答幾個?

作爲一名前端工程師,瀏覽器算是我們打交道最多的一個工具了,所以掌握相關瀏覽器的工作原理是一名合格的前端工程師必備的。 這篇文章主要講解瀏覽器相關的知識,文章內容比較長,知識點較多,非常建議收藏閱讀~ 前言 如果這篇文章有幫助到你,❤️關

原创 這一次帶你徹底瞭解前端本地存儲

隨着Web應用程序的出現,直接在客戶端存儲用戶信息的需求也隨之出現。那麼我們前端常用的存儲方式有哪些呢? 前言 如果這篇文章有幫助到你,❤️關注+點贊❤️鼓勵一下作者,文章公衆號首發,關注 前端南玖 第一時間獲取最新的文章~ HTML

原创 面試官:說一說前端路由,後端路由客戶端渲染與服務端渲染

我之前在上線自己的博客遇到過下面這些問題 爲啥我的博客在開發階段都沒問題,部署到服務器之後訪問不了除了/的頁面 路由用hash模式就沒問題,改成history就會有問題 公衆號:前端南玖 不定時有送書活動,記得關注~ 每日推送前端技

原创 Javascript深入之作用域與閉包

相信絕大多數同學都聽過閉包這個概念,但閉包具體是什麼估計很少有人能夠說的很詳細。說實話閉包在我們平時開發中應該是很常見的,並且在前端面試中閉包也是常見的重要考點,在學習閉包之前我們先來看看作用域與作用域鏈,因爲這是閉包的關鍵。 作用域

原创 this指向與call,apply,bind

this指向與call,apply,bind ❝ 「this」問題對於每個前端同學來說相信都不陌生,在平時開發中也經常能碰到,有時候因爲「this」還踩過不少坑,並且「this」問題在面試題中出現的概率也非常高,我們一起來了解一下this的

原创 聊一聊橋接(JSBridge)的原理

一、前言 如今的互聯網時代也稱移動互聯網時代,基本上每個人每天都會花費大量時間在移動設備上,早期的移動端應用大都使用原生開發(android,ios),而現在的移動開發技術選型上基本都是混合開發(Hybrid),混合開發是一種開發模式,指

原创 想讓你的代碼變得更加優雅嗎?

作爲一名開發人員,工作之外的時間總是在學習新事物。作爲前端開發人員必須知道一些使我們的代碼如何更優雅,工作更輕鬆的技巧,讓自己的代碼寫的更加高大上,下面這些技巧獲取可以幫助到你。 1. 多個條件判斷 // longif( x === 

原创 前端爲什麼要工程化?

什麼是前端工程化? 雖然前端工程化的概念興起還沒幾年的時間,但是對於“工程化”這個詞並不是一個新鮮詞了,在其他軟件開發的領域很早就已經有了高度的工程化,例如Web服務端開發。只不過那個時候,前端工程師並沒有工程化的意識,也沒有必要對前端進

原创 JS常見面試題,看看你都會多少?

1. 如何在ES5環境下實現let 這個問題實質上是在回答let和var有什麼區別,對於這個問題,我們可以直接查看babel轉換前後的結果,看一下在循環中通過let定義的變量是如何解決變量提升的問題 babel在let定義的變量前加了道

原创 這些JS技巧,看看你是否都會用?

問題1:以下代碼在瀏覽器控制檯上會打印什麼? var a = 10; function foo() { console.log(a); // ?? var a = 20; } foo(); 問題2:如果我們使用 let 或