@前端

動態 列表
@feng_fanfan

前端工程師復健筆記-JavaScript 核心深度複習-原型與繼承

我們來深入、系統地詳解 JavaScript 的原型與繼承。這是 JavaScript 中最核心、最獨特的特性之一。 第一部分:核心概念 - 為什麼需要原型? JavaScript 在誕生之初,被設想為一種簡單的腳本語言,並未打算引入類的概念。為了實現對象之間的屬性和方法共享,從而節省內存並建立繼承關係,設計了基於原型的繼承模型。 第二部分:理解 __proto__ 與 prototype 這是

feng_fanfan 頭像

@feng_fanfan

昵稱 Feng_Fanfan

@yqyx36

網站加載速度慢的7大技術原因與解決方案

本文系轉載,轉載鏈接:網站加載速度慢的7大技術原因與解決方案 根據HTTP Archive最新報告,2024年全球網站平均加載時間已縮短至2.3秒,但仍有38%的網站存在明顯性能瓶頸。本文基於對500+企業網站的深度診斷數據,剖析導致訪問延遲的關鍵技術因素,並提供可落地的優化框架。 一、基礎設施瓶頸診斷 1.服務器資源配置失衡 性能臨界點公式: 所需vCPU = \frac{峯值QPS \ti

yqyx36 頭像

@yqyx36

昵稱 雲輕雨細

@yayu

10 個被嚴重低估的 JS 特性,直接少寫 500 行代碼

前言 最近逛 Reddit 的時候,看到一個關於最被低估的 JavaScript 特性的討論,我對此進行了總結,和大家分享一下。 Hi,我是冴羽,學習前端,歡迎圍觀我的“網頁版朋友圈”、踏上“前端大佬成長之路”。 1. Set:數組去重 + 快速查找,比 filter 快 3 倍 提到數組去重,很多人第一反應是 filter + indexOf,但這種寫法的時間複雜度是 O (n²),而 Set

yayu 頭像

@yayu

昵稱 冴羽

@yayu

JavaScript 異步循環踩坑指南

1. 前言 在循環中使用 await,代碼看似直觀,但運行時要麼悄無聲息地停止,要麼運行速度緩慢,這是為什麼呢? 本篇聊聊 JavaScript 中的異步循環問題。 2. 踩坑 1:for 循環裏用 await,效率太低 假設要逐個獲取用户數據,可能會這樣寫: const users = [1, 2, 3]; for (const id of users) { const user = awa

yayu 頭像

@yayu

昵稱 冴羽

@cbuc

AST 初探深淺,代碼還能這樣玩?!

大家好,這裏是 菜農曰,歡迎來到我的頻道。我們今天的主題是 AST (抽象語法樹) AST 聽起來好像是個很新的東西,那麼具體有什麼用,好不好用就在這篇文章中找到答案吧~ 我們簡單將這個詞拆分抽象、語法、樹,如果我們能夠順利將這個詞拆分,那麼我們也就掌握了其核心所在 抽象:抽象的反義詞是具象,也就説明抽象的事物關注點不在於細節,而在於整體 語法:語法一組詞法的表達式,具備某種指定的規則,具有

cbuc 頭像

@cbuc

昵稱 寫做

@panpanpanya

React18+Vite4+Zustand4 後台管理系統搭建🎉

前言 老闆:搞個管理系統,我明天就要。 前端:沒空,誰愛做誰做!(小聲bb) 老闆:(突然抬頭)你説什麼? 前端:好的老闆 用後端的話來説,一個管理系統而已 要不是人手不夠,後端也能做。 看吧,前端就是這麼人微言輕~ 該乾的活還是得幹。 起步 # 使用ant design pro npm i @ant-design/pro-cli -g pro create myapp

panpanpanya 頭像

@panpanpanya

昵稱 潘潘潘呀

@nihaojob

使用 fabric.js 開發移動端 H5 圖片編輯器

大家好,我是開源圖片編輯器的 https://github.com/ikuaitu/vue-fabric-editor 的作者,它是一款基於 PC 版本的開源圖片編輯器。 最近很多開發者諮詢,是否可以將開源圖片編輯器改造為一款適用於移動端的 H5 版本圖片編輯器,最近 H5 版本的圖片編輯器剛剛上線,就將實現思路和產品細節整理成筆記分享出來,供大家參考。 基礎 開源的圖片編輯器的基本功能都

nihaojob 頭像

@nihaojob

昵稱 秦少衞

@user_ze46ouik

這可能是思否講「原型鏈」,講的最好最通俗易懂的了,附練習題!

前言 大家好,我是林三心,相信大家都聽過前端的三座大山:閉包,原型鏈,作用域,這三個其實都只是算基礎。而我一直覺得基礎是進階的前提,所以不能因為是基礎就忽視他們。今天我就以我的方式講講原型鏈吧,希望大家能牢固地掌握原型鏈知識 很多文章一上來就扔這個圖,但是我不喜歡這樣,我覺得這樣對基礎不好的同學很不好,我喜歡帶領大家去從零實現這個圖,在實現的過程中,不斷地掌握原型鏈的所有知識!!!來吧!!!跟着我

user_ze46ouik 頭像

@user_ze46ouik

昵稱 Sunshine_Lin

@bianchengsanmei

再解 JavaScript 原型與原型鏈

前言 JavaScript 原型與原型鏈雖然是一個老生常談的話題,但依然困惑着很多人,今天我再來從另一個角度談談這個問題。 兩個疑問 先看這樣一段代碼: let obj = {} obj.__proto__.haha = 'gogo' console.log(obj.haha) // "gogo" 運行一下上面的代碼,輸出結果為 gogo。 針對這個結果,有以下疑問: obj 哪來的 __p

bianchengsanmei 頭像

@bianchengsanmei

昵稱 編程三昧

@qinglong_62898aa51988d

聊聊原型鏈與繼承

前言 原型鏈與繼承、作用域與閉包、單線程與異步並稱為前端的三座大山,均屬於 JavaScript 中基礎卻又十分複雜的部分,而且面試中也經常問到。 今天,我們就來詳細介紹一下原型鏈與繼承,聊聊它的概念、作用與用法。 如果掘友對此部分已經學過只是略微遺忘,可直接跳轉至原型鏈圖片看圖複習。 下面,讓我們循序漸進的介紹下原型鏈與繼承。 認識原型 在我們創建函數的同時,都會自動為其創建一個 prototy

@anchen_5c17815319fb5

如何理解JS原型和原型鏈

每個函數(箭頭函數除外)都有prototype屬性,該屬性指向原型。 每個對象(null除外)都有__proto__屬性,指向了創建了該對象的構造函數的原型。(注:函數也是對象) 對象可以通過__proto__來尋找不屬於該對象的屬性,__proto__將對象連接起來組成了原型鏈。 理解原型和原型鏈,下面這張圖很重要: 根據上面這張圖,能夠得到如下等式: // 一、對象的__p

@banana_god

JavaScript的原型鏈詳解

最近在項目中經常遇到,且與同事經常探討關於js原型鏈的知識。發現其實很多工作經驗好多年的同事也記不太清楚原型鏈的整個環節,今天在這裏專門的把鏈圖畫出來,並且加以講解,希望能夠幫到更多前端的朋友。 原型鏈其實就是一個三角關係,如下圖所示,我們編寫了一個構造函數Student,通過構造函數創建了對象s1(const s1 = new Student()),也就是我們經常説的s1是構造函數Student

banana_god 頭像

@banana_god

昵稱 _香蕉大神

@gkymfrg1

查找對象屬性的四種方法

1.Object.keys(..)會返回一個數組,包含所有可枚舉屬性( enumerable: true) 2.Object.getOwnPropertyNames(...)會返回一個數組,包含所有屬性,無論它們是否可枚舉 注:Object.keys(..)和Object.getOwnPropertyNames(..)都只會查找對象直接包含的屬性。 3.in操作符會檢查屬性是否在

gkymfrg1 頭像

@gkymfrg1

昵稱 ohoherror

@hard_heart_603dd717240e2

Vue與VueComponent的關係

結論:VueComponent.prototype.__proto__ === Vue.prototype Vue與VueComponent的關係如圖所示: (圖一) 前提知識: 每個函數function都有一個prototype屬性,即顯式原型(屬性),它默認指向Object空對象, 每個實例對象都有一個__proto__屬性,即稱隱式原型(屬性)。 關係圖分析:

hard_heart_603dd717240e2 頭像

@hard_heart_603dd717240e2

昵稱 Hard heart

@dirackeeko

[JS] javascript中的原型鏈01 prototype&__proto__

先給出名詞的定義: 1、實例對象-被new出來對象稱之為實例對象 例如: const p1 = new Person() p1就是實例對象 2、普通對象-未經new,直接聲明的對象是普通對象 例如:const p2 = { name: "John" } p2就是普通對象 3、prototype, 中文翻譯:原型對象 4、__proto__ ,中文翻譯:原型 (英文可以讀作dunder

dirackeeko 頭像

@dirackeeko

昵稱 DiracKeeko

@linyuyizhizou_678b9fdc436f1

JS 原型鏈深度解讀:從混亂到通透,掌握 90% 前端面試核心

JS 原型鏈深度解讀:從混亂到通透,掌握 90% 前端面試核心 前言:你是否也被這些原型鏈問題折磨過? " 為什麼obj.toString()能調用卻不在自身屬性裏?" "prototype和__proto__到底有什麼區別?" " 用class定義的類和原型鏈是什麼關係?" "修改原型對象為什麼會影響所有實例?" 作為 JavaScript 的核心機制,原型鏈是理解繼承、對象關係和內置方法的基礎

linyuyizhizou_678b9fdc436f1 頭像

@linyuyizhizou_678b9fdc436f1

昵稱 小帆聊前端

@apifox

掌握 API 接口自動生成代碼的技巧與方法

在 API 開發過程中,開發人員經常面對大量冗餘代碼的挑戰。每個 API 都需要類似的驗證邏輯、錯誤處理以及數據解析,這不僅消耗時間而且容易出錯。 自動化代碼生成的必要性 提升開發效率 自動化代碼生成能節省大量時間。開發者無需重複編寫相似代碼,一系列自動化工具幫你完成這些工作,直接將生成的代碼集成到項目中即可。 確保代碼質量與一致性 自動生成的代碼往往遵循一定的標準和規範,這有助於減輕錯誤頻發和維

apifox 頭像

@apifox

昵稱 Apifox

@jdcdevloper

TypeScript 前端工程最佳實踐

作者:王春雨 前言 隨着前端工程化的快速發展, TypeScript 變得越來越受歡迎,它已經成為前端開發人員必備技能。 TypeScript 最初是由微軟開發並開源的一種編程語言,自2012年10月發佈首個公開版本以來,它已得到了人們的廣泛認可。TypeScript 發展至今,已經成為很多大型項目的標配,其提供的靜態類型系統,大大增強了代碼的可讀性、可維護性和代碼質量。同時,它提供最新的Java

jdcdevloper 頭像

@jdcdevloper

昵稱 京東雲開發者

@sovitjs

好用的Web前端開發工具推薦

前端Web開發工具實際上是讓前端開發人員更高效輕鬆地構建前端佈局的軟件。在這些工具的幫助下,前端重複的工作變得簡單,從而加快了Web開發過程。 有許多前端Web開發工具可以滿足各種特定需求,例如HTML,CSS和JavaScript工具,代碼編輯工具,部署工具,原型和線框圖工具,安全工具等等。但是選擇適合自己項目的工具,必須對工具有所瞭解。 下面我們就介紹一些主流的Web前端開發工具: Vue.j

sovitjs 頭像

@sovitjs

昵稱 可視化PaaS開發

@sovitjs

Web組態:Web2D工業組態模板

最近發現不少網友留言,想要一些前端Web組態的模板,由於公司是做2D/3D可視化編輯器的,同時也會設計很多各行各業的組態模板,以供參考,所以小編整理了包含電力、環境、園區、能源等行業領域的一些組態模板,希望對大家有所幫助! 污水處理前端Web組態模板 污水處理預沉池系統 污水處理AO池監測系統 生活污水處理監控系統 鍋爐控制前端Web組態模板 鍋爐監控系統 鍋爐控制系統

sovitjs 頭像

@sovitjs

昵稱 可視化PaaS開發