- 博客(34)
- 收藏
- 关注
原创 深入了解Object.defineProperty方法
Object.defineProperty 语法Object.defineProperty(obj, prop, descriptor)obj 需要定义属性的对象prop 需要定义的属性descriptor属性的描述描述符返回值:返回此对象[举个例子]let obj = Object.create(null);let descriptor = { configurable:false, writable:false, enumerable:false,
2023-02-06 00:12:00
430
1
原创 Vue3(快速上手)
Vue2 与 Vue3 的区别数据双向数据绑定Vue2.0 数据绑定 是通过 Object.defineProperty 来劫持对象属性的 geter 和 seter 操作,当数据发生改变发出通知// 数据let data = { title: '', // 备份数据 _data: {}}// 定义特性Object.defineProperty(data, 'title', { // 定义特性属性或者特性方法 // 取值方法 get() { // console.log('g
2023-02-06 00:11:51
1870
原创 ES6 笔记
ES6let、const与var的区别// let 声明的变量只在它所在的代码块有效for (let i = 0; i < 10; i++) { console.log(i);}console.log('aaa');console.log(i); // i is not defined// 上面代码中,计数器i只在for循环体内有效,在循环体外引用就会报错。==========================================================
2023-02-06 00:11:49
575
原创 理解Vue3 为什么使用 Proxy
前言Vue 3.0 开始 Proxy 代替 Object.defineProperty 那么 Proxy 是什么,Proxy能干什么,Vue中 Object.defineProperty 和 Proxy的区别是什么,为什么要替换Proxy是什么?Proxy 对象用于定义基本操作的自定义行为(如属性查找,赋值,枚举,函数调用等)。通俗的讲Proxy是一个对象操作的拦截器,拦截对目标对象的操作,进行一些自定义的行为。Proxy怎么用?let p = new Proxy(target, handler
2023-02-06 00:11:36
1391
原创 JavaScript DOM 编程艺术读书笔记
Js// ==========================================// 首先需要一个addLoadEvent函数,因为在文档完全加载后如果想运行某个函数,就需要用到它function addLoadEvent(func) { // 把现有的window.onload 事件查理函数的值存入变量oldonload. var oldonload = w
2023-02-06 00:11:06
919
1
原创 TypeScript
什么是 TypeScriptTypeScript 是微软开发的一个开源的编程语言,通过在 JavaScript 的基础上添加静态类型定义构建而成。TypeScript 通过 TypeScript 编译器或 Babel 转译为 JavaScript 代码,可运行在任何浏览器,任何操作系统。TypeScript 是 JavaScript 的超集超集 : 如果一个集合S2中的每一个元素都在集合S1中,且集合S1中可能包含S2中没有的元素,则集合S1就是S2的一个超集,反过来,S2是S1的子集。 S1是S2的
2023-01-24 11:02:24
2792
3
原创 登录组件实现细节
登录细节分析细节一:页面启动后自动聚焦检查用户名或密码是否为空,如果发现为空,则自动聚焦:mounted() {// 将username设为空 ,然后不为空就会聚焦到password上 if (this.loginForm.username === '') { this.$refs.username.focus() } else if (this.loginForm.password === '') { this.$refs.password.focus()
2023-01-24 11:00:34
402
1
原创 requst库源码解析(运用axios及拦截器)
request 库使用了 axios 的手动实例化方法 create 来封装请求,要理解其中的用法,我们需要首先学习 axios 库的用法
2023-01-24 11:00:06
1387
1
原创 面包屑导航(与路由映射)
el-breadcrumb-itemel-breadcrumb:面包屑导航容器,separator 控制面包屑导航文本中分割线el-breadcrumb-item:面包屑子项目,可以使用 to 属性切换路由,slot 中可以包含 a 标签来跳转到外链<el-breadcrumb separator="/"> //导航分割线 <el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item> &l
2023-01-24 10:59:22
1785
1
原创 路由重定向原理解析
登录重定向login.vue 中对 $route 进行监听:watch: { $route: { handler: function(route) { const query = route.query if (query) { this.redirect = query.redirect this.otherQuery = this.getOtherQuery(query) } }, immediate:
2023-01-24 10:58:17
3505
2
原创 Axios(万字详细教程)
Axios介绍1、Axios是什么?Axios是一个基于promise的HTTP库,类似于jQuery的ajax,用于http请求。可以应用于浏览器端和node.js,既可以用于客户端,也可以用于node.js编写的服务端。2、Axios特性(1)支持Promise API(2)拦截请求与响应,比如:在请求前添加授权和响应前做一些事情。(3)转换请求数据和响应数据,比如:进行请求加密或者响应数据加密。(4)取消请求(5)自动转换JSON数据(6)客户端支持防御X
2021-12-23 22:34:38
27804
8
原创 正则入门到入土(万字解析)
正则表达式是匹配模式,要么匹配字符,要么匹配位置。一、正则表达式字符匹配两种模糊匹配如果正则表达式只有精准匹配是没有多大的意义的,比如/hello/,只能匹配到字符串中的"hello"这个字符串var regex = /hello/;;console.log(regex.test("hello"));// true正则表达式之所以强大,是因为其能实现模糊匹配而模糊匹配,有两个方向上的“模糊”:横向模糊和纵向模糊横向模糊匹配横向模糊匹配指的是,一个正则可匹配的字符串长度不固定,可以
2021-12-23 01:06:54
2611
7
转载 canvas学习笔记
canvascontext是一个封装了很多绘图功能的对象,获取这个对象的方法是 var context =canvas.getContext("2d");canvas元素绘制图像的时候有两种方法,分别是context.fill()//填充context.stroke()//绘制边框style:在进行图形绘制前,要设置好绘图的样式context.fillStyle//填充的样式context.strokeStyle//边框样式context.lineWidth//图形边框宽度
2021-12-16 09:08:43
1018
1
原创 vue--生命周期(分析及其使用)
vue–生命周期生命周期图生命周期函数 beforeCreate() { //实例完全被创建出来之前,会执行它 // 注意: 在 beforeCreate 生命周期函数执行的时候,data 和 methods 中的 数据都还没有没初始化 }, created() { // 在 created 中,data 和 methods 都已经被初始化好了! // 如果要调用 methods 中的方法,或者操作 data
2021-12-14 10:23:04
630
原创 echarts 3d词云(指向滑动、拖动、缩放、点击、自转 )
前言由于拖动、缩放、点击 (复制及可用)注意:依赖文件 在 index.html 中引入(依赖文件下面直接提供)<template> <div class="ciyun"> <canvas id="myCanvas"></canvas> <div id="tags"> <a href="http://www.baidu.com" target="_blank">爱</a>
2021-09-08 17:56:18
4951
4
原创 软件工程(笔记)
一、绪论软件的定义软件是计算机系统中与硬件相互依存的另一部分,它保存程序、数据及其相关文档的完整集合。软件 = 程序 + 数据 + 文档程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能正常操纵信息的数据结构,具体来说包括使系统初始运行所必须的数据如数据库和表的结构及初始的数据,系统运行中所需要的各种代码表、各种标志等。文档是与程序开发,维护和使用有关的图文材料(是有关于管理、开发、用户、维护人员使用的文档)软件技术面临的问题规模、复杂性、生产率软件危机软件危机是指在计算
2021-08-21 16:26:49
4284
原创 element (Tree 树形控件)(数据更新后取消默认收起)
当使用 el-tree 新增文件夹时,组件默认会全部收起,重复点击会影响体验效果,于是开始了碰壁了,解决后在此分析。
2021-08-17 15:21:24
3421
5
原创 封装组件的原则(封装组件必看)彻底搞明白封装组件
什么时候需要封装如果一块内容在项目中出现了两次就要考虑是否应进行封装一个组件、一个函数、一个css 只要是需要多次使用的都可以考虑封装封装原则封装的组件必须具有高性能,低耦合的特性,封装的组件为子组件,引用封装组件的地方叫父组件为了实现高新能、低耦合应该从这几个方面下手:规则3中插槽详解1.数据从父组件传入(子组件本身尽量不要生产数据,如果需要生成数据,只能在组件内部进行使用,不要传递出去。)props: { num:{ type: Number, }}对于通过props传入的参
2021-03-26 16:56:59
19687
原创 uni-App真机调试(平台配置真机调试)
uni-app 项目配置平台配置HBuider建议下载下载好之后点击工具 --> 设置 --> 运行配置这个路径就是我们微信开发者工作的目录一般不需要我们自己填,只有运行不起来微信开发者工具时使用配置好这些就可以点击运行了(包括下面这个微信的端口号开启)微信小程序打开微信小程序点击设置 -> 安全设置 -> 保证服务器端口是开启的app真机、模拟器连接安卓设备 —> 首先确保我们电脑和手机通过数据线连接起来
2021-01-05 10:43:08
7870
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人