前端面試寶典---vue原理

vue的Observer簡化版

class Observer {constructor(value) {if (!value || typeof value !== 'object') returnthis.walk(value) // 對對象的所有屬性進行遍歷并定義響應式}walk (obj) {Object.keys(obj).forEach(key => defineReactive(obj, key, obj[key]))}
}
// 定義核心方法 defineReactive
function defineReactive (target, key, value) {new Observer(value) // 如果值還是對象,則繼續對其子屬性進行觀察Object.defineProperty(target, key, {enumerable: true,configurable: true,get: function reactiveGetter () {return value},set: function reactiveSetter (newVal) {if (newVal === value) returnvalue = newValnew Observer(value) // 新值如果是對象,也需要對其進行觀察}})
}let observer = {name: 'observer',age: 18,tempObj: {n: 1,m: 2}
}new Observer(observer)console.dir(observer)

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/78486.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/78486.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/78486.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

從“聾啞設備“到超級工廠:EtherCAT轉Modbus協議網關正在重構工業未來

當全球工廠加速邁向工業4.0,您的生產線是否因Modbus設備“拖后腿”而被迫降速?無需百萬改造!無需淘汰設備!一套EtherCAT從站轉Modbus協議網關,讓30年老機床與智能工廠實時對話,效率飆升300%! 一…

Tauri文件系統操作:桌面應用的核心能力(入門系列四)

今天我們來聊聊Tauri中一個超級重要的功能 - 文件系統操作。這可是Web應用和桌面應用最大的區別之一。在瀏覽器里,出于安全考慮,我們對文件系統的訪問被限制得死死的。但在Tauri桌面應用中,我們可以安全地訪問用戶的文件系統,這簡…

Python解析地址中省市區街道

Python解析地址中省市區街道 1、效果 輸入:海珠區沙園街道西基村 輸出: 2、導入庫 pip install jionlp3、示例代碼 import jionlp as jiotext 海珠區沙園街道西基村 res jio.parse_location(text, town_villageTrue) print(res)

基于Node+HeadlessBrowser的瀏覽器自動化方案

基于NodeHeadlessBrowser的瀏覽器自動化方案 什么是無頭瀏覽器(Headless Browser)? 無頭瀏覽器,就像是一個沒有用戶界面的瀏覽器程序。你可以想象它就是一個“隱形”的瀏覽器,只不過它沒有圖形界面,但能做我們用普通瀏覽器所能做…

AEB法規升級后的市場預測與分析:技術迭代、政策驅動與產業變革

文章目錄 一、政策驅動:全球法規升級倒逼市場擴容二、技術迭代:從“基礎防護”到“場景全覆蓋”三、市場格局:競爭加劇與生態重構四、挑戰與未來展望五、投資建議結語 近年來,全球汽車安全法規的加速升級正深刻重塑AEB&#xff08…

【Docker項目實戰】使用Docker部署Caddy+vaultwarden密碼管理工具(詳細教程)

【Docker項目實戰】使用Docker部署vaultwarden密碼管理工具 前言一、vaultwarden介紹1.1 vaultwarden簡介1.2 主要特點二、本次實踐規劃2.1 本地環境規劃2.2 本次實踐介紹三、本地環境檢查3.1 檢查Docker服務狀態3.2 檢查Docker版本3.3 檢查docker compose 版本四、拉取鏡像五、…

第十六屆藍橋杯大賽軟件賽省賽第二場

第十六屆藍橋杯大賽軟件賽省賽第二場 大家好。最近參加了第十六屆藍橋杯大賽軟件賽省賽第二場 Python 大學 B 組的比賽,現在來和大家分享一下我的解題思路和代碼實現。以下內容是我自己寫的,可能對也可能錯,歡迎大家交流討論。 試題 A&…

硬件須知的基本問題2

目錄 1、典型電路 1. DC5V 轉 DC3.3V 電路 2. 通信電路 2、STM32F103RCT6 最小系統如何設計搭建電路 1. 電源電路 2. 復位電路 3. 時鐘電路 4. 下載電路 5. 單片機連接連接 3、請列舉你所知道的二極管型號? 1. 整流二極管 2. 小信號二極管 3. 肖特基二極管 4. 超…

力扣HOT100——102.二叉樹層序遍歷

給你二叉樹的根節點 root ,返回其節點值的 層序遍歷 。 (即逐層地,從左到右訪問所有節點)。 示例 1: 輸入:root [3,9,20,null,null,15,7] 輸出:[[3],[9,20],[15,7]] /*** Definition for a bi…

CSS 定位學習筆記

一、定位概述 CSS 定位是控制 HTML 元素在頁面中位置的核心技術,允許元素脫離正常文檔流,實現復雜布局效果。 二、定位類型對比 定位類型屬性值參考基準是否脫離文檔流常用場景靜態定位static無否默認布局相對定位relative自身原位置否元素微調絕對定…

Threejs中頂視圖截圖

Threejs中頂視圖截圖 一般項目中的每個模型,都需要有一張對應的圖片,一般是頂視圖,在對應的2D場景場景中展示。以下分享一個實現方式,先將清空模型材質的紋理,把顏色設置為白色,使用正交相機截取頂視圖&am…

深度探索:DeepSeek賦能WPS圖表繪制

一、研究背景 在當今數字化信息爆炸的時代,數據處理與可視化分析已成為眾多領域研究和決策的關鍵環節。隨著數據量的急劇增長和數據維度的不斷豐富,傳統的數據可視化工具在應對復雜數據時逐漸顯露出局限性。Excel作為廣泛應用的電子表格軟件,…

第11章 面向分類任務的表示模型微調

??????第1章 對大型語言模型的介紹第2章 分詞和嵌入第3章 解析大型語言模型的內部機制第4章 文本分類第5章 文本聚類與主題建模第6章 提示工程第7章 高級文本生成技術與工具第8章 語義搜索與檢索增強生成第9章 多模態大語言模型第10章 構建文本嵌入模型第12章 微調生成模…

4.換行和續寫

一.FileOutputStream寫出數據的兩個小問題: 問題一:換行 假設在本地文件中要輸出數據aweihaoshuai 666,在輸出這個數據時要換行寫出,如下圖: 問題二:續寫 假設在一個文本文件中已經存在數據aweihaoshuai…

聯易融受邀參加上海審計局金融審計處專題交流座談

近日,聯易融科技集團受邀出席了由上海市審計局金融審計處組織的專題交流座談,憑借其在供應鏈金融領域的深厚積累和創新實踐,聯易融為與會人員帶來了精彩的分享,進一步加深現場對供應鏈金融等金融發展前沿領域的理解。 在交流座談…

SOC估算:開路電壓修正的安時積分法

SOC估算:開路電壓修正的安時積分法 基本概念 開路電壓修正的安時積分法是一種結合了兩種SOC估算方法的混合技術: 安時積分法(庫侖計數法) - 通過電流積分計算SOC變化 開路電壓法 - 通過電池電壓與SOC的關系曲線進行校準 方法原…

代碼隨想錄打卡|Day27(合并區間、單調遞增的數字、監控二叉樹)

貪心算法 Part05 合并區間 力扣題目鏈接 代碼隨想錄鏈接 視頻講解鏈接 題目描述: 以數組 intervals 表示若干個區間的集合,其中單個區間為 intervals[i] [starti, endi] 。請你合并所有重疊的區間,并返回 一個不重疊的區間數組&#xff0…

PostgreSQL的擴展 pg_cron

PostgreSQL的擴展 pg_cron pg_cron 是 PostgreSQL 的一個開源擴展,它允許在數據庫內部使用 cron 語法調度定期任務,是最接近 Oracle DBMS_SCHEDULER 的解決方案。 一 安裝與配置 1 安裝方法 下載路徑: https://github.com/citusdata/pg_…

卷積神經網絡遷移學習:原理與實踐指南

引言 在深度學習領域,卷積神經網絡(CNN)已經在計算機視覺任務中取得了巨大成功。然而,從頭開始訓練一個高性能的CNN模型需要大量標注數據和計算資源。遷移學習(Transfer Learning)技術為我們提供了一種高效解決方案,它能夠將預訓練模型的知識…

圖論---樸素Prim(稠密圖)

O( n ^2 ) 題目通常會提示數據范圍&#xff1a; 若 V ≤ 500&#xff0c;兩種方法均可&#xff08;樸素Prim更穩&#xff09;。 若 V ≤ 1e5&#xff0c;必須用優先隊列Prim vector 存圖。 // 最小生成樹 —樸素Prim #include<cstring> #include<iostream> #i…