自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 React 组件之兄弟组件之间的传值

兄弟组件之间的传值就是子传父和父传子目标:能够明白兄弟组件间的数据通信流程。步骤及思路 准备 Brother、Brothers 兄弟组件和一个公共组件。 把需要操作的 Brothers 组件中的数据 count 提升到公共的父组件里面。 父组件提供数据和操作数据的方法。 把数据传递给 Brothers 组件,把操作数据的方法传递给 Brother 组件 公共组件 Brother(这个是子传父) Brothers(这个是父传子)...

2021-12-10 21:36:07 1585

原创 React组件传值之 子传父

目标: 能够将子组件的数据传递给父组件父组件子组件(第一种传递方法)子组件(第二种传递方法,还是使用前面的父组件)子传父的思路1.父组件通过属性传递一个回调函数。2.子组件调用传递过来的回调函数,并将要传递的数据作为回调函数的实参。3.父组件在回调函数中通过形参接收传递过来的数据并做相应操作。...

2021-12-10 21:08:46 5824

原创 React 组件之父传子

父组件子组件(类)子组件(函数)父组件(在需要使用组件的地方) 通过自定义属性提供数据子组件(定义组件的地方),类组件通过this.props 接受数据,函数组件通过props接受数据

2021-12-08 10:34:19 513

原创 JSON.stringify

首先要知道JSON.parse(JSON.stringify(obj))的问题console.log(o) 打印结果如下上面代码中,e属性的enumerable为false,所以一般的遍历操作都无法获取该属性,使得它有点像“秘密”属性,但还是可以直接获取它的值。可以console.log(o.e) 可以的到 18可枚举性(enumerable)用来控制所描述的属性,是否将被包括在for...in循环之中。具体来说,如果一个属性的enumerable为false,下面三个操作不...

2021-12-07 11:37:54 398

原创 一分钟带你了解BFC

BFC是什么 格式化上下文 ,他是文档中的一块渲染区域,他有一套自己的渲染规则,他决定了子元素如何定位,以及和其他元素的关系和相互作用如何触发BFC1.根元素(<html>)2.浮动定位(元素的float不是none)3.绝对定位(元素的position为absolute或者fixed)4.行内块元素(元素的display为inline-block)5.表格单元格(元素的display为table-cell,HTML表单单元格默认为该值)6.overflo...

2021-12-07 10:51:26 199

原创 v-model的实现以及他的实现原理

vue中双向绑定是一个指令v-model,可以绑定一个动态值到视图,同时视图中变化能改变该值。v-model是语法糖,默认情况下相于:value和@input。 使用v-model可以减少大量繁琐的事件处理代码,提高开发效率,代码可读性也更好 通常在表单项上使用v-model 原生的表单项可以直接使用v-model,自定义组件上如果要使用它需要在组件内绑定value并处理输入事件 输出包含v-model模板的组件渲染函数,发现它会被转换为value属性的绑定以及一个事件监听,事件回调函数中会做相应变

2021-11-20 22:24:11 714

原创 Vue的性能优化你都做过哪些呢?

编码阶段尽量减少data中的数据,data中的数据都会增加getter和setter,会收集对应的watcherv-if和v-for不能连用如果需要使用v-for给每项元素绑定事件时使用事件代理SPA 页面采用keep-alive缓存组件在更多的情况下,使用v-if替代v-showkey保证唯一使用路由懒加载、异步组件防抖、节流第三方模块按需导入长列表滚动到可视区域动态加载图片懒加载SEO优化预渲染服务端渲染SSR打包优化压缩代码Tree Shaking/Scope Ho.

2021-11-20 20:53:57 315

原创 Vue中的diff算法

在js中,渲染真实Dom的开销是非常大的,比如我们修改了摸某个数据,如果直接渲染到真实的Dom上会引起整个dom树的重绘和回流,那么有没有可能实现只更新我们修改的那一小块dom,而不是整个dom呢?此时我们就需要先根据真是的dom生成虚拟的dom ,当虚拟的dom某个节点的数据改变后会生成一个新的Vnode,然后新的Vnode和旧的Vnode作比较,发现有不一样的地方就直接修改在真实Dom上,然后新的Vnode的值替换旧的Vnode的值 diff的过程就是调用path函数...

2021-11-20 20:50:49 532

原创 为什么要做项目优化

为什么需要项目优化在互联网快速发展的今天,在实现完功能之后,项目优化是一个被经常提到的话题。很多项目会在开发排期中留大量时间去做一轮又一轮的性能优化,就是为了让页面尽可能早的到达用户,提高交互的流畅程度。在系统可利用系统资源有限的大背景下,3秒呈现内容的原则下,项目优化显得格外重要。每减少0.1秒加载速度可能会给你带来几百甚至几千的用户活跃;每减少100K的内容请求可能会给你带来几千甚至几万的的服务端费用;每提高10%的交互流畅度可能给你带来几万甚至几十万的销售额。于情于理,我们都需要去了解

2021-11-18 16:48:26 577

原创 git命令(git的基本使用)

对于新手小白来说记住这些已经够用了git的基本使用git初始化 git init git提交到暂存 git add . 将暂存 提交到本地仓库 git commit -m "注释" 和远程建立 联系 git remote add origin 地址 提交本地仓库到远程(第一次) git push -u origin master 提交本地仓库到远程(后续) git push 创建分支 git branch 分支名 git c..

2021-11-17 20:27:38 82

原创 跨域浏览器

一分钟学会跨域浏览器第一步 :创建一个文件夹,(自己找一个盘) D:\kuayu第二步 :创建一个谷歌浏览器的快捷方式第三步 :在快捷方式点右键 ==> 属性 ==> 目标,移到最后,加入空格,粘贴 --disable-web-security --user-data-dir=D:\aaa (这里的D:\aaa 是我自己建的文件夹,你需要把你自己建的文件夹路径写在等号后面)第四步 :点击确定,打开就是跨域浏览器...

2021-11-17 20:07:57 2757

原创 HTTP常见的状态码

1.http 和 https 有何区别?如何灵活使用?http是HTTP协议运行在TCP之上。所有传输的内容都是明文,客户端和服务器端都无法验证对方的身份。 https是HTTP运行在SSL/TLS之上,SSL/TLS运行在TCP之上。所有传输的内容都经过加密,加密采用对称加密,但对称加密的密钥用服务器方的证书进行了非对称加密。此外客户端可以验证服务器端的身份,如果配置了客户端验证,服务器方也可以验证客户端的身份2.常见的HTTP状态码2开头 (请求成功)表示成功处理了请求的状态代码。.

2021-11-17 19:38:01 162

原创 快速入门javaScript最后一天

内置对象 javaScript中的对象分为三种:自定义对象,内置对象,浏览器对象 前面两种对象是JS基础内容,属于 ECMAScript;浏览器对象属于JS独有的,JS API讲解内置对象就是指 JS 语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的或是最基本而必要的功能(属性和方法),内置对象最大的优点就是帮助我们快速开发JavaScript 提供了多个内置对象:MathMath对象math对象不是构造函数,他是具有数字常数和函数的属性方法。跟数学相关的...

2021-10-26 18:20:06 195 1

原创 学习javaScript速成第五天

今天学习作用域和对象,其中作用域分为全局作用域和局部作用域1.作用域 1.作用域概述 通常来说,一段程序代码中所用到的名字并不一定是有效和可用的,而限定这个名字的可用性代码的范围就是这个名字的作用域。作用域的使用提高了程序逻辑的局部性,增强了程序的可靠性。减少了名字冲突 javaScript(es6前)中的作用域有两种:全局作用域 局部作用域(函数作用域) 1.全局作用域 作用于所有代码执行的环境(整个script标签内部)或者一个独立的js...

2021-10-18 20:35:41 200 1

原创 快速学习javaScript基础第四天 (数组,函数)

数组1.数组的概念数组可以把一组相关的数据一起存放,并提供方便的访问方式 数组是指一组数据的集合,其中的每个数据被称作元素,在数组中可以存放任意类型的元素。数组是一种将一组数据存储在单个变量名下的优雅方式。2.创建数组JS中创建数组有两种方式:1.利用new创建数组// var 数组名 = new Array();var arr = new Array(); //创建一个新的空数组 注意Array(),A要大写 2. 利用数组字面量创建数组/...

2021-10-17 21:35:10 231 1

原创 快速入门JavaScript 第三天

今天主要学习流程控制,循环和代码规范1.流程控制1. 流程控制概念在一个程序执行的过程中,各条代码的执行顺序对程序的结果是有直接影响的。很多时候我们要通过控制代码的执行顺序来实现我们要完成的功能。简单理解:**流程控制就是来控制代码按照一定结构顺序来执行**流程控制主要有三种结构,分别是**顺序结构**、**分支结构**和**循环结构**,代表三种代码执行的顺序。2. 顺序流程控制 顺序结构是程序中最简单、最基本的流程控制,它没有特定的语法结构...

2021-10-14 21:42:57 341 2

原创 快速学习JavaScript基础 第二天

1 运算符(操作符)运算符(operator)也被称为操作符,是用于实现赋值、比较和执行算数运算等功能的符号。JavaScript中常用的运算符有:- 算数运算符- 递增和递减运算符- 比较运算符- 逻辑运算符- 赋值运算符1. 算数运算符算术运算符概述概念:算术运算使用的符号,用于执行两个变量或值的算术运算。 运算符 描述 实例 + 加 10+20=30 - 减 10-20=-10 * ...

2021-10-13 21:52:22 85 2

原创 快速学习JavaScript基础 第一天

布兰登.艾奇(Brendan Eich,1961年~ )。神奇的大哥用十天完成JavaScript 设计。最初命名为liveScript,后来在与Sun合作之后将其命名为JavaScript。1.JavaScript1 JavaScript 是什么 JavaScript 是世界上最流行的语言之一,是一种运行在客户端的脚本语言 (Script 是脚本的意思) 脚本语言:不需要编译,运行过程中由 js 解释器( js 引擎)逐行来进行解释并执行 现在也可以基于 Node.js

2021-10-11 21:35:02 287 5

原创 快速学会Express 路由

1.路由的概念1.什么是路由 路由就是映射关系 根据不同的用户 URL 请求,返回不同的内容 本质:URL 请求地址与服务器资源之间的对应关系 2.Express 中的路由在 Express 中,路由指的是客户端的请求与服务器处理函数之间的映射关系。 Express 中的路由分 3 部分组成,分别是请求的类型、请求的 URL 地址、处理函数,格式如下:app.METHOD(PATH,HANDLER)3.Express 中的路由的例子//匹配G..

2021-10-10 19:48:35 859 8

原创 Express的使用

Express 简介1. 什么是 Express管方给出的概念:Express 是基于 Node.js 平台,快速、开放、极简的 Web 开发框架。 通俗的理解:Express 的作用和 Node.js 内置的 http 模块类似,是专门用来创建 Web 服务器的。 Express 的本质:就是一个 npm 上的第三方包,提供了快速创建 Web 服务器的便捷方法。Express 的中文官网: http://www.expressjs.com.cn/2. Express 能做什么对于前.

2021-10-09 21:00:20 217 1

原创 模块的加载机制

1 优先从缓存中加载模块在第一次加载后会被缓存。 这也意味着多次调用 require() 不会导致模块的代码被执行多次。 注意:不论是内置模块、用户自定义模块、还是第三方模块,它们都会优先从缓存中加载,从而提高模块的加载效率。2 内置模块的加载机制内置模块是由 Node.js 官方提供的模块,内置模块的加载优先级最高。 例如,require('fs') 始终返回内置的 fs 模块,即使在 node_modules 目录下有名字相同的包也叫做 fs。3 自定义模块的加载机制使用 requi

2021-10-08 15:12:12 110

原创 手把手教你开发属于自己的包

1.包管理配置(1)包管理配置的概念npm规定,在项目根目录中,必须提供一个叫做package.json的包管理配置文件,用来记录与项目有关的一些配置信息,例如:项目的名称、版本号、描述等 项目中都用到了哪些包 哪些包只会在开发期间会用到 哪些包在开发和部署时都需要用到(2) 理解package.json配置文件的作用(1)多人协作的问题包的体积整个项目的体积是30.4M 第三方包的体积是28.8M 项目源代码的体积1.6M2. 遇到的问题第三方包...

2021-10-07 21:23:54 174

原创 前端模块化

模块化的理解1.什么是模块化?模块化是指解决一个复杂问题时,自顶向下逐层把系统划分成若干模块的过程。对于整个系统来说,模块是可组合、分解和更换的单元。 编程领域中的模块化,就是遵守固定的规则,把一个大文件拆成独立并互相依赖的多个小模块 简单理解就是一个js文件中可以引入另一个js文件的数据2.为什么要用模块化? 1.提高了代码的复用性。 2.提高代码的可维护性。 3.可以实现按需加载 4.避免命名冲突(减少命名空间污染)3.模块化的规范3.1Node.j...

2021-10-06 20:58:06 100

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除