- 博客(99)
- 收藏
- 关注
原创 初识flutter1
官网下载: https://www.oracle.com/java/technologies/downloads/#jdk23-windows。3.2 键盘 ctrl + shift + p 选择 flutter: New project (flutter 项目)2. 配置flutter, 官网: https://docs.flutter.cn/get-started/install。1.3 配置jdk, 电脑右键 —>点击属性 --> 高级系统配置 —> 环境变量。下载SDK, 并解压;
2025-02-27 16:00:57
451
原创 element-ui按钮el-button,点击之后恢复之前的颜色
使用el-button 按钮点击之后, 没有恢复到之前的颜色, 还是保持点击之后的颜色
2023-12-10 22:49:15
1659
原创 uniapp(uncloud) 使用生态开发接口详情5(云公共模块)
【代码】uniapp(uncloud) 使用生态开发接口详情5(云公共模块)
2023-10-18 11:35:06
1038
原创 uniapp(uncloud) 使用生态开发接口详情4(wangeditor 富文本, 云对象, postman 网络请求)
wangeditor 官网: https://www.wangeditor.com/v4/pages/01-%E5%BC%80%E5%A7%8B%E4%BD%BF%E7%94%A8/01-%E5%9F%BA%E6%9C%AC%E4%BD%BF%E7%94%A8.html。4.1 点击demoObj 目录, 右键, 运行本地云对象, 目录下面多一个demoObj.param.js 文件,4.2 保存一下, 点击demoObj 目录, 右键, 运行本地云对象, 终端打印的。在运行ok, 这都是本地运行的,
2023-10-18 09:41:22
1019
原创 uniapp(uncloud) 使用生态开发接口详情2(使用 schema创建数据, schema2code创建页面, iconfont 引入项目)
iconfont 在项目中使用
2023-10-16 17:24:35
585
原创 div居中的几种方法
使用div 水平垂直居中方法一: 使用 flex 布局 <div class="box"> <div class="dv"> 111</div> </div> <style> *{ margin: 0; padding: 0; } .box{ width: 100vw; height: 100vh; b
2021-08-04 16:02:53
3651
原创 深入浅拷贝和深拷贝原理
浅拷贝: 创建一个新的对象,赋值给新的函数; 如果这个对象是基本数据类型,就是复制一份给了新的函数, 如果是引用类型,就是复制一份内存中的地址,改变一个值肯定会影响另一个对象深拷贝:先看看:浅拷贝方法一: object.assignobjetct.assign 是 ES6 中object 的一个方法,可以用来浅拷贝 // 方法一 object.assign // Object.assign(target, ...source) target:目标, source:目标源.
2021-08-03 20:43:03
439
原创 GridSome 静态网站生成器
GridSome: 一个免费,开源,基于vue.js 技术栈的静态网站生成器官网:https://gridsome.org/
2021-06-19 16:44:47
186
原创 Vuex使用
Vuex 是一个专为 Vue.js 提供的状态管理模式,多个组件要共享状态,使用vuexvuex 有五种属性:分别是State , Getter , Mutation , Action , Module
2021-06-15 16:39:18
102
原创 Diff 算法
Diff是一种算法,类似排序算法;当数据变化之后,如果直接操作DOM,浏览器会重新渲染页面,消耗性能比较大,使用Diff算法,它不直接操作DOM,而用js对象来描述真实DOM,比较js对象是否发生变化,找到变化的位置,最小化的更新变化的位置,提高了性能,它的执行过程是:在比较开始时首先对新老节点数组的开始和结尾节点设置标记索引,遍历比较时会出现四种情况:a.oldStartVnode/newStartVnode比较:旧节点和新节点从第一个开始进行比较b.oldEndV...
2021-05-30 09:25:54
1034
原创 snabbom安装和使用
1.创建目录 如: mode2. cnpm init -y3. cnpm install parcel-bundler -D4.
2021-05-28 15:22:45
569
原创 虚拟DOM
1.虚拟DOM : 就是普通的 JS对象来描述DOM对象, 虚拟DOM 比真实DOM 开销要小很多2.为什么使用虚拟DOM: 当数据变化之后,才操作DOM,数据没有发生变化使用上次
2021-05-27 21:09:32
82
原创 vue 响应式原理,vue2.0 和vue3.0 双向绑定原理
数据响应式: 数据模型是JavaScript 的普通对象,当我们修改数据时,视图会进行更新,避免了操作DOM,提高了开发效率双向绑定:数据改变,视图也会跟着变化;视图改变,随之数据也会改变数据驱动:开发过程中需要关注数据本身,不需要关心数据是怎么渲染到视图的直接看案例 vue2.0 双向绑定原理<!-- body --> <div id="app">app</div> <script> let data={ msg
2021-05-25 20:38:53
285
1
原创 回顾Vue-Router相关用法,route和router区别,路由动态传值,跳转方式,hash和history
1.创建项目 vue create vueRouterMode2.选择自己的配置3.安装vue-router :cnpm install vue-router --dev4.在 src 目录新建router文件夹,再新建 index.js5.在index.js 中编辑:import Vue from "vue"import VueRouter from "vue-router"Vue.use(VueRouter)const Index = ()=> import("...
2021-05-25 10:33:32
282
2
原创 回顾vue生命周期,常用指令,及事件修饰符,按键修饰符keyup.enter
1.Vue生命周期有8个分别是:beforeCreate : 创建vuecreated: 实例化vuebeforeMount: 元素挂载dom树之前mounted:元素挂载dom树之后beforeUpdate: 修改数据之前updated:修改数据之后beforeDestroy:销毁之前destroyed:销毁之后2.常用指令,累计13个v-if v-else-if v-else : 这三个很好记,if else,控制元素在DOM树显示不显示v-s...
2021-05-21 17:56:05
342
原创 性能优化:变量局部,缓存数据,减少访问层级,减少判断层级, 防抖节流,字面量与构造式
从性能方面看:变量局部: 使用局部变量 比 全局变量 性能好一点缓存数据: 放回的数据,使用多次,用变量保存,使用变量减少访问层级: 访问对象属性,直接对象.属性, 如:Pro.age减少判断层级: 减少if 语句嵌套if ,使用 return 返回上面的比较好理解,就没有写案例,接下来看防抖防抖: 对于高频操作,我们只希望识别一次点击,可以人为是第一次或者是最后一次案例:<div id="app">点我点我</div> <script..
2021-05-21 10:17:47
179
原创 webpack 零开始, 从0到1
1.新建项目:webpack2.项目初始化:yarninit-y3.安装webpack依赖:yarnaddwebpackwebpack-cli--dev4.在根目录下,新建配置webpack文件:webpack.config.js5.在根目录下,新建src文件夹,在src目录下新建index.html,index.js,index.css6.先尝试一下打包:yarnwebpack,ok继续往下走7....
2021-05-14 15:55:20
216
原创 v8,v8垃圾回收
v8是一款主流的 javaScript 执行引擎,v8采用即时编译,v8内存设限v8垃圾回收v8垃圾回收是采用分代回收思想内存分为新生代,老生代v8内存分为新生代和老生代二个空间,新生代再分二个空间:使用空间(From)和空闲空间(To)新生代对象回收(空间换时间)回收过程采用复制算法+标记整理使用空间(From)和空闲空间(To)活动对象存储于From 空间标记整理后将活动对象拷贝至To老生代对象回收主要采用标记清除,标记整理,增量标记算法...
2021-04-29 11:15:35
68
原创 内存管理,GC,常见GC算法,引用计数,标记清除,标记整理
内存管理:内存:由可读写单元组成,表示一片可操作空间管理:人为的去操作一片空间的申请,使用和释放内存管理:开发者主动申请空间,使用空间,释放空间管理流程 申请-->使用 --> 释放//简单的案例, 申请/使用/释放//申请let obj={}//使用obj.name="yuqi"// 释放obj=nullGC定义和作用GC就是垃圾回收机制GC可以找到内存中的垃圾,并释放和回收空间GC中垃圾:不再次使用GC算法:算法就是工作时查找和回收所遵循的..
2021-04-29 10:49:02
376
原创 typeScript 原始类型,各种类型,接口,类,抽象类,泛型
typeScript 原始类型1. string 字符串2.number 数字3.boolean 布尔值4.void 空值 一般 赋值 undefined5. null空值6.undefined7.symbol作用域问题function(){ const a:number =1 }export {}// Object类型 是指非原始类型,如 数组,对象,函数const foo :object = function(){}const obj :{foo:nu...
2021-04-29 09:23:14
189
2
原创 TypeScript快速上手, 强类型与弱类型
typesrcipt 语言: 是javascript 的超集或者扩展1.强类型与弱类型(类型安全)2.静态类型与 动态类型(类型检查)强类型:强类型不允许随意的隐式类型转换,弱类型:允许随意的隐式类型转换静态类型:声明之后不能被修改动态类型:运行阶段才能够明确变量类型,而是变量的类型随时可以改变javascript 类型系统特征: 弱类型与动态类型初识 typeScript ,如何安装1.初始化项目 cnpm init -y2.添加 typeScript...
2021-04-28 15:34:08
460
原创 es2015,类,静态方法,继承, Set,Map,Symbol,iterator迭代器
es2015 中的类class Pro { constructor(name){ this.name=name } say(){ console.log(`hi,${this.name}`); } // 静态方法 static create(name){ return new Pro(name) }}// const p = new Pro("zom")const p = Pro.create("zom")p.say() //hi,z.
2021-04-27 17:06:22
132
原创 ES2015 字符扩展方法,展开数组... , 普通函数对比箭头函数,Object.assign
startsWith 是查询字符串开始endsWith 是查询字符串结束includes 是查询字符串是否包含// 字符串扩展 startsWith / endsWith /includesconst message = "hi string message ."console.log(message.startsWith('hi')); // trueconsole.log(message.endsWith('.')); // trueconsole.log(mes.
2021-04-27 15:18:55
105
原创 var let const 的区别,解构,
在javaScript 中 分两种作用域 : 全局作用域和局部作用域在ES2015 以前 都是 var 声明的,var 会声明提升在ES2015 发版之后 新增的 let const 这两种let 是块级作用域, 不会提升,必须先声明const 是 常量,赋值之后不能修改地址解构//解构const obj={ name:"张三", age:18}let name="李四"let {name:objName,age} = objconsole.log(nam...
2021-04-27 11:23:46
60
原创 promise 模仿 then,catch,finally,all,resolve 代码
模仿promise 代码Mypromise 类// 三种状态const WAITFOR = "waitFor" //等待const SUCCESS = "success" //成功const FAIL = "fail" //拒绝class MyPromise { constructor(executor) { try { executor(this.success, this.fail) } catch
2021-04-20 18:57:27
224
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人