前端须知名词解释

news2025/3/15 14:24:10

目录

一、多维转一维

二、一维转多维

一维转多维——使用场景:分页

三、判断当前元素是否为数组

四、判断当前元素是否是空对象

五、数字分割符:提高数字可读性

六、模糊盒子(怪异盒子)与标准盒模型

七、css的filter属性

图片模糊

这个filter滤镜可以用来做全局页面变灰,

转存失败重新上传取消​编辑​编辑

八、找到数组中的最大/最小值

 

九、虚拟dom

十、vue的template模版的渲染过程

十一、灰度发布(金丝雀发布、 渐进式发布)


一、多维转一维

一、使用forEach 结合 递归处理
function flatData(list,children){

   let resList = []

   list.forEach(ele => {

       if(ele[children]&&ele[children].length>0){

         resList=resList.concat(flatData(ele[children]))  

       }else {

           resList.push(ele)

       }

   });

   return resList

}



二、[1,[2,[3]]].join().split(',')
三、[1,[2,[3]]].flat()

二、一维转多维

一维转多维——使用场景:分页

var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; var row = 3; var multiArr = []; for (var i = 0; i < arr.length; i += row) { multiArr.push(arr.slice(i, i + row)); } console.log(multiArr);

三、判断当前元素是否为数组

[1,2,3] instanceof Array

Array.isArray([1,2,3])

[1,2].constructor ===Array

四、判断当前元素是否是空对象

Object.key/entries/value({}).length>0

console.log(JSON.stringify({})=='{}')

五、数字分割符:提高数字可读性

属于ES新增,老项目可能不支持,若要提高数字的可读性,你可以使用下划线作为分隔符来更好地区分数字的各个部分。这样做可以让数字更易读,让人一目了然,而且还能在小白面前秀一把。

var num == 1_110_000;//等同于1110000

六、模糊盒子(怪异盒子)与标准盒模型

模糊盒子的宽包含了padding、content、border,当设置padding和border时,content会被压缩,因为宽包含了padding/border。属性box-sizing:border-box;

标准盒模型的宽只有一个content,所以当我们设置padding/border时,整个元素会扩大,content不会压缩。属性:box-sizing:content-box;

 

七、css的filter属性

图片模糊

给img标签设置属性

filter: blur(5px);

这个filter滤镜可以用来做全局页面变灰,

filter: grayscale(1);

还记得吗,当国家公祭日等重要节日,各大网站与软件网页置灰,就是用的这个

 

八、找到数组中的最大/最小值

 

 

九、虚拟dom

为什么要有虚拟dom呢,很多年前在没有vue和react的时候,修改数据后在渲染页面是通过大范围全局dom循环遍历查询要更新数据的dom,这就消耗了很多计算资源,多了很多没必要的性能消耗,那么虚拟dom是怎么回事呢,虚拟dom会把页面dom元素抽象化成一个嵌套对象(从dom根节点递归得来),当我们修改数据值,会在虚拟dom对象里查找,修改的是虚拟dom对象的属性,通过diff算法对比前后的虚拟dom后才会进行真实dom的渲染。

十、vue的template模版的渲染过程

首先将template里的内容转化为render函数,接下来就是挂载实例,把render函数从根节点开始递归形成虚拟dom,通过diff算法对比新旧虚拟dom更新真实dom

十一、灰度发布(金丝雀发布、 渐进式发布)

灰度发布就是发布非稳定版本供用户使用来进行测试的一种发布方式,我们常常看到游戏会抽取部分用户发放一些账号让大家提前体验新内容,也常常看到软件提醒要不要更新到最新的测试版本来体验新功能,用户想不想当小白鼠完全自愿,开发人员可以测试服务器的稳定性和新功能的流畅度来规避风险,再根据用户反馈做出进一步的调整,然后就有了稳定版发布,是双赢的一种策略。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/943449.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

代码随想录算法训练营day42 | 01背包问题,416. 分割等和子集

目录 01背包问题 416. 分割等和子集 01背包问题 416. 分割等和子集 类型&#xff1a;动态规划&#xff0c;01背包 难度&#xff1a;medium 思路: 经典的01背包问题&#xff0c;背包容量为sum/2, 每个物品的重量为nums[i],其价值也为nums[i]。 需要注意的是&#xff0c;如果…

数字世界的不朽之旅,探索人类意识的未来归宿!

在莎士比亚名剧《哈姆雷特》中&#xff0c;有一句经典的独白“生存还是死亡&#xff0c;这是一个值得考虑的问题”&#xff0c;令人沉思。数百年后的今天&#xff0c;随着人工智能技术的不断发展&#xff0c;数字永生正在改变着生死的边界&#xff0c;使得“有的人死了&#xf…

Ctenos7安装mysql-8.1.0/tomcat-9.0.80/LNMT部署

目录 一、实验拓扑 二、部署mysql 三、部署Tomcat 四、配置NGINX 五、 配置NGINX的双机热备提高可用性 一、实验拓扑 二、部署mysql 官网下载地址https://dev.mysql.com/downloads/mysql/ 1、移除mariadb&#xff0c;安装所需应用 mysql-8.1.0 社区版 安装说明官网下载地址…

【高等数学基础知识篇】——函数,极限与连续

本文仅用于个人学习记录&#xff0c;使用的教材为汤家凤老师的《高等数学辅导讲义》。本文无任何盈利或者赚取个人声望的目的&#xff0c;如有侵权&#xff0c;请联系删除&#xff01; 文章目录 一、函数基础知识1.1 基本初等函数和初等函数1.2 函数的初等特性1.3 特殊函数 二、…

网络综合布线专业技能人才培养方案

一、网络综合布线专业技能人才培养方案概述 网络综合布线专业技能人才培养方案旨在培养具备综合布线系统设计、安装与维护的全面技能和知识的专业人才。以下是一个概述&#xff1a; 培养目标&#xff1a;培养具备综合布线系统的理论基础和实践操作技能的专业人才&#xff0c;能…

参考平面很重要,为啥这里要挖掉?

高速先生成员--姜杰 传输线结构包括信号路径和返回路径&#xff0c;以平面形式出现的返回路径通常被称为参考平面。不少刚接触高速信号设计的朋友会有这样的困惑&#xff1a;都说走线的参考平面很重要&#xff0c;为啥有些信号还要把途经SMD元器件管脚下方的参考平面挖掉&#…

华为OD机试 - 玩牌高手 - 动态规划(Java 2023 B卷 100分)

目录 一、题目描述二、输入描述三、输出描述四、解题思路具体规则如下&#xff1a;具体步骤如下&#xff1a; 五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 一、题目描述 给定一个长度为n的整型数组&#xff0…

【Golang】go条件编译

交叉编译只是为了能在一个平台上编译出其他平台可运行的程序&#xff0c;Go 作为一个跨平台的语言&#xff0c;它提供的类库势必也是跨平台的&#xff0c;比如说程序的系统调用相关的功能&#xff0c;能根据所处环境选择对应的源码进行编译。让编译器只对满足条件的代码进行编译…

亚马逊重拳打击虚假评论,不想被关联影响的看这里(纯干货)

近年来&#xff0c;亚马逊投入了大量资源来确保平台上评论的真实性&#xff0c;提升客户的实际体验&#xff0c;如通过机器学习模型和专家调查员&#xff0c;在评论发布之前分析其中的欺诈和可疑内容。同时&#xff0c;亚马逊持续起诉刷单机构&#xff0c;严厉打击平台上存在的…

【真人语音】讯飞星火个人声音训练及导出下载工具V0.2.exe

【项目背景】 小编一直在尝试着短视频技术&#xff0c;在读文案的时候经常会读错&#xff1b;所以&#xff0c;只能用微软或者剪映的文本转语音软件。 很早之前在Github上也看到过真人人声训练的开源代码&#xff0c;尝试过一番之后&#xff0c;也是以失败告终&#xff1b;就…

IMX989 35mm模组首发,厚度惊人,努比亚能吃到第一波红利吗?

根据数码闲聊站的曝光内容&#xff0c;努比亚即将推出一款工程机&#xff0c;据称将搭载索尼IMX989 35mm镜头。从曝光图来看&#xff0c;该工程机的镜头模组采用了圆形设计&#xff0c;相比传统手机要更厚一些。最引人注目的是该手机预计将搭载对焦环&#xff0c;这使得该工程机…

.ssh文件夹下缺失known_hosts文件

.ssh文件夹下缺失known_hosts文件 先确认工蜂或github 添加了git生成的密钥 然后 桌面打开git bash 1、执行ssh -T gitgitlab.com 2、输入yes

Vue2-初识路由、路由分类、路由的基本使用、嵌套(多级)路由、路由的query参数、路由的params参数、路由的props配置

&#x1f954;&#xff1a;有的山长满荆棘&#xff0c;有的山全是野兽&#xff0c;所以你应该是自己的那座山 更多Vue知识请点击——Vue.js VUE2-Day12 路由简介1、什么是SPA&#xff1f;2、什么是路由&#xff1f;3、路由的分类①前端路由②后端路由 路由的基本使用1、编写rou…

spark 部署

下载spark 安装包 spark官网下载 pre-built with user-provided 会支持更多的hadoop&#xff0c;已经安装了hadoop和java环境的选这个比较好 wget https://dlcdn.apache.org/spark/spark-3.3.2/spark-3.3.2-bin-hadoop3.tgz安装 解压 tar -xvf spark-3.3.2-bin-hadoop3.tgz …

【java】【项目实战】[外卖八]产品展示、购物车、下单开发

目录 一、导入用户地址簿相关功能代码 1 需求分析 2 数据模型 3 导入功能代码 3.1 实体AddressBook 3.2 Mapper接口AddressBookMapper 3.3 业务接口层AddressBookService 3.4 业务接口实现类AddressBookServiceImpl 3.5 控制层AddressBookController 4 功能测试 二、…

读SQL学习指南(第3版)笔记06_连接和集合

1. 连接 1.1. 笛卡儿积 1.1.1. 交叉连接&#xff08;cross join&#xff09; 1.1.2. 查询并没有指定两个数据表应该如何连接&#xff0c;数据库服务器就生成了笛卡儿积 1.1.2.1. 两个数据表的所有排列组合 1.1.3. 很少会用到&#xff08;至少不会特意用到&#xff09; 1.…

NameNode 故障无法重新启动解决方法

文章目录 NameNode 进程挂掉NameNode 进程挂掉且数据丢失 NameNode 进程挂掉 如果只是单纯的进程挂掉了&#xff0c;可以直接使用下列命令进行重启&#xff1a; hdfs --daemon start namenode示例&#xff1a; NameNode 进程挂掉且数据丢失 这种情况就不可以直接通过重启解决…

com.mysql.jdbc.PacketTooBigException: Packet for query is too large(windows)

使用mysql查询数据的时候报错&#xff1a; Caused by: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1078 > 1024). You can change this value on the server by setting the max_allowed_packet variable. 这是因为mysql的server默认接受数据…

java项目mysql转postgresql

特殊函数 &#xff1a; mysql&#xff1a; find_in_set(?, ancestors) postgresql&#xff1a; ? ANY (string_to_array(ancestors,,)) mysql&#xff1a; date_format(t1.oper_time, %Y-%m-%d) postgresql&#xff1a; rksj::date to_char(inDate,YYYY-MM-DD) mysql&am…