javascript中的動態集合NodeList&HTMLCollection
不知道你有沒有在控制枱見到過類似這樣的輸出 我們會發現,同樣都是獲取元素的代碼,為啥一個是NodeList,一個是HTMLCollection。 那麼這倆是啥?又有啥區別,本篇文章我們就聊聊這個。 NodeList NodeList對象是節點的集合(類數組)。通常是由屬性,如Node.childNodes 和 方法(如document.querySelectorAll) 返回的
昵稱 aqiongbei
貢獻者508
粉絲0
不知道你有沒有在控制枱見到過類似這樣的輸出 我們會發現,同樣都是獲取元素的代碼,為啥一個是NodeList,一個是HTMLCollection。 那麼這倆是啥?又有啥區別,本篇文章我們就聊聊這個。 NodeList NodeList對象是節點的集合(類數組)。通常是由屬性,如Node.childNodes 和 方法(如document.querySelectorAll) 返回的
昵稱 aqiongbei
在使用useEffect、useCallback這些hooks,為什麼還要寫依賴數組呢,不寫這些依賴,React還給你警告。 下面我就來分享一下自己的理解 聲明依賴的目的:防止函數的閉包特性產生意外的錯誤 前言 在b站看到一個up用JS實現紅綠燈,我就試着自己也寫一個。 目的是想要它每個1秒跳轉到下一個燈。 紅 = 綠 = 黃 = 紅 = 綠 = 黃 這樣的順序 代碼 但是
昵稱 香蕉吃黃瓜
這是上月面試碰到的一道面試題,作為一個有着十年開發經驗七年前端經驗的大齡青年,碰到這種沒有一點鋪墊的八股文,真的只想説一句毀滅吧。 記得以前剛做前端不久的時候,就在百度搜閉包,大多搜到的結果都説的是閉包是什麼樣子的,比如説在函數外部可以訪問到函數內部的變量,又或者説閉包會導致什麼問題,比如會影響GC回收。總之沒什麼標準説法,就好像現在網上的吐槽,你背面試題沒用,得和麪試官背的同一套才行,但是天知道
昵稱 beckyyyy
1. 可變性 在 JavaScript 中有七種基本數據類型(string、number、boolean、undefined、symbol、bigint 和 null),這些都是不可變的。這意味着一旦分配了一個值,我們就無法修改它們,我們可以做的是將它重新分配給一個不同的值(不同的內存指針)。另一方面,其他數據類型(如 Object 和 Function)是可變的,這意味着我們可以修改同一內存指
昵稱 破曉L
閉包是指在一個函數內部創建另一個函數,並且內部函數可以訪問外部函數的變量、參數以及其他內部函數,即使外部函數已經執行完畢。這種機制使得內部函數保留了對外部作用域的引用,即使外部作用域已經不再活躍。 為什麼閉包重要? 閉包在 JavaScript 中具有重要的用途和價值。它們可以用於創建私有變量、封裝邏輯、避免全局污染等方面。另外,閉包還允許你在函數之外操作局部變量,從而為代碼提供更大的靈活性和可
昵稱 Apifox
介紹 JavaScript中的閉包是一種強大的概念,它允許我們在函數內部創建和訪問私有變量,並且可以在函數外部繼續使用這些變量。理解閉包的工作原理對於編寫高質量的JavaScript代碼至關重要。本文將深入探討JavaScript閉包的機制,並結合最佳實踐和代碼示例進行詳細説明。 什麼是閉包? 閉包是指函數能夠訪問並操作其詞法作用域外部的變量的能力。當一個函數內部定義了另一個函數,並且內部函數引用
昵稱 jungang
哈嘍大家好,我是歸思君~ 一、引言 我們知道,作用域(Scope)就是代碼中變量和函數的可訪問的區域,這個區域中決定了變量和函數的生命週期。在當前的高級程序語言中,主要有詞法作用域(靜態作用域)和動態作用域兩種。 靜態作用域:其作用域是在編寫代碼時就已經確定好,靜態作用域是根據變量和函數在代碼中的位置來決定。函數尋找變量時,是在函數定義的位置中尋找,而不是調用的位置。現在大多數編程語言都採用的
昵稱 歸思君
在 app.component.html頁面中添加 router-outlet/router-outlet 標籤後報錯: 解決: 在路由文件,即 app-routing.module.ts 中,添加上一句:exports: [RouterModule] 截圖如下: 即可解決 router-outlet 的報錯問題。 參考: https://stackoverflow.com/questions
昵稱 張子溪
當前,數字孿生正處於一場深刻的範式變革之中:其價值核心正從靜態的可視化,向動態的決策智能加速遷移。然而,這一進程正面臨一個根本性的挑戰:高精度模型所帶來的龐大計算需求,與終端側有限的本地算力之間,形成了一道難以逾越的鴻溝。此矛盾已成為制約數字孿生在廣度與深度上實現規模化應用的核心瓶頸。 在此背景下,基於雲端協同的實時渲染技術,正成為破局的關鍵——它並非簡單的遠程顯示,而是旨在徹底打破終端的物理限
@dianliangxiaocheng_19854189632
昵稱 點量實時雲渲染
Less(Leaner Style Sheets 的縮寫) 是一門向後兼容的 CSS 擴展語言。,它擴展了CSS(層疊樣式表)的功能並提供了更靈活、更強大的樣式定義和管理機制。通過使用 Less,開發人員可以編寫可維護、可重用的樣式代碼,並以簡潔的語法實現複雜的樣式效果。本文將介紹 Less 的基本概念和特性,以及如何使用它來簡化 CSS 開發過程。想要學習更多的知識,可訪問 犀牛書 的 Less
昵稱 Apifox
1.在vue.config.js文件中配置 let path = require('path'); let stylePath = path.resolve(__dirname, './static/css/variable.less') module.exports = { css: { loaderOptions: { less: {
昵稱 小邁步老闆
前言 本篇章主要講述CSS3新特性,如svg、canvans以及動畫。 面試回答 1.canvas畫圓:首先獲取canvas對象,設置好寬高,用getContext方法設置2d繪圖,然後用arc方法進行繪製,arc的參數分別是圓心的x,y座標、半徑、以x軸為基準的起始角度以及結束角度,這裏設置,0到2π即可。 知識點 1.SVG 參考博客:https://juejin.cn/post/684490
昵稱 馳驥
前言 本篇章來源於https://juejin.cn/post/7077347573740077069,內容只是經過咀嚼便於自己理解。 面試回答 1.重繪重排:簡單來説重繪就是改變某個節點的樣式,重排就是改變某些節點的佈局,比如元素尺寸變動、元素位置變動以及瀏覽器窗口變動。所以重排一定會引起重繪,而重繪不一定引起重排。減少重繪重排的方式主要是通過集中修改css來完成,比如將樣式統一放在clas
昵稱 馳驥
tiptap一次封裝自定義UI 效果圖 (參考element-tiptap): demo如下 本次封裝基於vue3 template div v-if="editor" :class="[ { 'el-tiptap-editor': true, 'el-tiptap-editor--fullscreen': isFullscreen
昵稱 愚者
背景 css module 是目前主流的 css 模塊化的解決方案。使用 css module 之後,我們可以將 css 類當作模塊變量引入到我們的 typescript (下述使用 "ts" 代指)文件中來作為樣式的引用。過去,由於 ts 無法識別 css module 中導出的變量,我們使用 css 模塊變量需要到 css 文件中找到對應的類名,再寫到 ts 文件中使用,容易出錯且影響了開發效
昵稱 好奇de悟空
1.實現效果 2.數據和佈局準備 準備一個 el-table 組件以及數據源,這裏的數據源可以是你的接口提供的。 template div style="width: 78%;" el-table ref="menuTableRef" :data="menuList" style="width: 100%;margin-bottom: 20px;" :row-class-
昵稱 Judei
Tab頁切換 完成固定footer佈局後,我想要在footer中添加幾個按鈕,來控制中間部分顯示的頁面,類似微信。因此我需要實現一個tab切換的功能,我這裏用到了Weex提供的slider組件。 template div class="wrapper" slider class="tab-container" auto-play="false" v-bind:index="sel" v
昵稱 MUYOUHUIYAO
跨平台技術發展的三個階段 第一階段是混合開發的web容器時代 為了解決原生開發的高成本、低效率,出現了Hybrid混合開發 原生中嵌入依託於瀏覽器的WebView Web瀏覽器中可以實現的需求在WebView中基本都可以實現 但是Web最大的問題是,它的性能和體驗與原生開發存在肉眼可感知的差異 因此並不適用於對性能和用户體驗要求較高的場景
昵稱 蘭俊秋雨
single-spa v5.9.3 通過輕量級路由劫持和狀態機設計,實現微前端的動態加載與隔離,主要實現 路由管理:hashchange、popstate、history.pushState、history.replaceState進行劫持,路由變化時,觸發 reroute() 子應用狀態管理:不同執行邏輯轉化不同的狀態,比如 加載流程:toLoadPromise→toBo
昵稱 白邊
整體核心流程 源碼分析 single-spa 存在以下主要的缺點 路由狀態管理不足:無法保持路由狀態,頁面刷新後路由狀態丟失 父子應用間的路由交互以來 postMessage 等方式,開發體驗差 未提供原生的 CSS 和 JS 沙箱隔離,可能導致樣式污染或者全局變量衝突 默認以來 webpack 的構建配置,其他構建工具需要改造後才能兼容 版本兼容性差,如果使用不同的 Vue 版本,
昵稱 白邊
JavaScript 中的數組分組:array.groupBy() 原文: https://dmitripavlutin.com/ja... 由於豐富的標準實用程序庫,許多開發人員喜歡 Ruby 編程語言。例如,Ruby 中的數組有大量的方法。 JavaScript 也逐步豐富了其關於字符串和數組的標準庫。例如,在之前的文章中,我描述了新的array.at()方法。 今天的主角是新的數組組提案(目
昵稱 陳東民
javascript的基本數據類型以及引用數據類型,基本數據類型在開發中經常會用到,包括作為變量使用,判斷數據類型來處理一些業務等 基本(簡單數據類型) undefined,Null,Boolean,Number,String 複雜的數據類型Object undefined undefined 類型只有一個值,即它本身,在使用var聲明變量但未給初始值時,這個變量的值為undefine
昵稱 程序猿布歐
需求背景 由於現有的後台管理系統,上傳的視頻越來越大,加上上傳視頻較慢,後端小哥提出直接從前端上傳視頻或者其他文件到阿里雲OSS存儲。 阿里雲OSS 阿里雲OSS文檔介紹,這裏不做過多贅述 安裝 原本在最開始的時候,是使用node版本的SDK,最開始使用的[nodejs版本] 代碼如下 async function put() { try { let result
昵稱 程序猿布歐
在瞭解深拷貝和淺拷貝之前,我們先梳理一下: JavaScript中,分為基本數據類型(原始值)和複雜類型(對象),同時它們各自的數據類型細分下又有好幾種數據類型 基本數據類型 數字Number 字符串String 布爾Boolean Null Undefined Symbols BigInt 基本數據類型在內存當中,是存儲在棧Stack 在數據結構當中 棧在內存上的分配的空間生命週期很短,當變
昵稱 程序猿布歐