前端面试宝典---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.mzph.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…