自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 鸿蒙 应用开发 项目资源结构及资源访问

均不支持在配置文件中声明UIAbility或ExtensionAbility组件(如后台服务)。均不支持循环依赖和依赖传递。例如,若A依赖B、B依赖C,则A无法直接使用C的代码或资源。两者均用于实现代码、C++库、资源(如图片、配置文件)的共享,提升开发效率和维护性。均不能独立安装或运行,需作为宿主应用(HAP)的依赖项集成。

2025-04-30 12:05:53 338

原创 鸿蒙 长列表加载性能优化

LazyForEach 懒加载可以通过设置 cachedCount 来指定缓存数量,在设置 cachedCount 后,除屏幕内显示的 ListItem 组件外,还会预先将屏幕可视区外指定数量的列表项数据缓存。这样当一个屏幕数据加载完成后,再次向下滑动时,会先加载上一次请求的数据,加载完成后再加载本次请求的数据。通过组件复用可以提高列表页面的加载速度和响应速度。:提供可复用组件对象的缓存资源池,通过重复使用已经创建并缓存的组件对象,降低相同组件短时间内频繁创建和销毁的开销,提升组件渲染效率。

2025-04-28 17:03:36 465

原创 鸿蒙 布局性能优化

Row、Text 组件等会生成对应的 FrameNode 节点。布局(Layout):确定组件的最终宽/高和四个顶点的位置。测算(Measure):负责确定组件对象的测量宽/高。比如你使用了 Row、Text 组件。UI 线程会对每个元素进行测算和布局。FrameNode 是系统组件节点。

2025-04-28 16:33:06 286

原创 鸿蒙应用开发 知识点 官网快速定位表

ArkTS 语言介绍页面和自定义组件生命周期。

2025-04-28 15:49:02 297

原创 入门版 鸿蒙 组件导航 (Navigation)

使用 DevEco Studio 运行本案例,要使用模拟器,千万不要用预览器,预览器看看 Navigation 布局还是可以的。添加完路由配置文件地址后,需要在工程 resources/base/profile 中创建 route_map.json 文件。Index 和 MainPage 两个页面,点击这个两个页面可以互相跳转。在跳转目标模块的配置文件 module.json5 添加路由表配置。

2025-04-28 15:27:59 216

原创 鸿蒙 ArkTS 组件 通用事件 通用属性 速查表

【代码】ArkTS 组件 通用事件 通用属性 速查表。

2025-04-27 20:43:12 1026

原创 10分钟入门Vue3

vue3入门

2024-06-21 00:56:08 790

原创 写给年轻程序员的 10 点启示

如果上面提到的其他建议都对你无效的话,那么就请坚持第 2 点建议吧“比一般人更加努力”,因为它将成为你最大的竞争优势。保持好奇心并乐于探索新的事物。相信自己的天赋和创造力。

2024-05-03 16:46:25 1022

原创 JavaScript 的节流与防抖

函数节流是指规定一个单位时间,在这个单位时间内,只能有一次触发事件的回调函数执行,如果在同一个单位时间内某事件被触发多次,只有一次能生效。节流可以使用在 scroll 函数的事件监听上,通过事件节流来降低事件调用的频率。函数防抖是指在事件被触发 n 秒后再执行回调,如果在这 n 秒内事件又被触发,则重新计时。这可以使用在一些点击请求的事件上,避免因为用户的多次点击向后端发送多次请求。

2023-12-09 17:42:13 668

原创 JavaScript 一些少见多怪的玩意

2023-12-09 01:17:01 505

原创 如何将浮点数点左边的数每三位添加一个逗号,如 12000000.11 转化为『12,000,000.11』

如何将浮点数点左边的数每三位添加一个逗号,如 12000000.11 转化为『12,000,000.11』

2023-12-08 19:08:46 493

原创 JavaScript 简单理解原型和创建实例时 new 操作符的执行操作

JavaScript 简单理解原型

2023-12-08 17:19:37 474

原创 CSS 实现单行/多行文本溢出的省略(...)

CSS 实现单行/多行文本溢出的省略(...)

2023-12-08 02:01:49 374

原创 CSS 元素的层叠顺序

CSS 元素的层叠顺序

2023-12-08 01:29:53 347

原创 CSS 图片格式

CSS 图片格式。

2023-12-07 17:30:31 499

原创 初始化 CSS 样式

初始化 CSS 样式

2023-12-07 02:38:34 427

原创 CSS 如何居中 DIV

CSS 如何居中 DIV

2023-12-07 00:28:19 559

原创 框架的艺术

框架的艺术

2022-11-11 00:33:32 221

原创 Vue3脚手架安装后添加Sass

按照官网安装Vue3脚手架后添加Sass

2022-08-22 23:01:05 249

原创 Vue2 和 Vue3 的 v-if、v-for 同时使用的区别

Vue2 和 Vue3 的 v-if、v-for 同时使用的区别

2022-08-17 23:40:50 713

原创 JavaScript 的 箭头函数 () => ({})

箭头函数 () => ({})

2022-08-17 23:25:00 1808

原创 排序算法(JavaScript 语言实现)

介绍排序算法,使用 JavaScript 语言实现。具体如何实现就不多介绍,至于我是从哪个角度去介绍的呢

2022-08-03 22:12:26 129

原创 Sass 使用文档

sass 使用

2022-08-01 23:10:08 468

原创 JavaScript 函数条件式调用

表示在函数不是null或者undefined的情况下才调用。且这种方式调用为短路操作,如果左侧为null或者undefined,则圆括号中的任何表达式都不会被求值。只会检查左侧的值是否为null或者undefined,无法判定是否为函数。可以这样使用这个函数。...

2022-07-23 11:34:02 500

原创 CSS 选择器

这里的选择器是为了querySelector()和querySelectorAll()服务的,其他的选择器没上榜的,请移步。抓元素容易,抓她的心难。

2022-07-23 00:54:15 102

原创 JavaScript 布尔值

请记住,截止今天为止,JavaScript里面的布尔值除了上面的为假外,其他的都是真的。

2022-07-17 17:52:12 190

原创 关于 CSDN

我是很晚才知道的 CSDN,因为我觉悟较晚。体验差,商业化,广告多,大家都在说这个。因为我比较懒,搭个网站发文章暂时不想去干这个事,上面那些个问题其实我都是可以忽略的。但如果有一天,它把我文章弄丢了,卧槽。...

2022-07-12 20:58:25 77

原创 JavaScript 函数递归

递归就是函数自己调用自己,不过要有终止条件,不然就无限循环了。下面看个阶乘函数:这里有个问题就是,如果把 fn 赋值给其他函数,那么递归函数就会出错。赋值后递归里面的 fn 为 null,会报错,使用 arguments.callee 可以解决,arguments.callee 是个指向当前正在执行的函数的指针。但严格模式下 arguments.callee 不能使用,所以,使用 函数声明 + 函数表达式 混合使用这样即使函数赋值给其他变量也可以使用。...

2021-11-13 20:16:23 1085

原创 JavaScript 继承(ES5)

继承的意思是,我要这个(独立属性),那个(方法)我也要。原型链是 JavaScript 主要继承方式。原型链继承就是通过设置子类的原型为父类的实例来继承子类自身没有但又懒得写的属性和方法。如上所示,Super 实例可以访问的属性和方法,在 Sub 上都能访问。原型链有个问题,当父类的属性是引用类型时,子类的就会共享这个引用类型。盗用构造函数 继承盗用构造函数的意思是,在子类构造函数中调用父类构造函数。这样,当父类的属性即使是引用类型时,子类的每个实例的属性也是独立的。盗用构造函数的问题:组合继承是:

2021-10-31 22:46:22 256

原创 8__树__

树二叉树中的节点最多只能有两个子节点:一个是左侧子节点,另一个是右侧子节点。这个定义有助于我们写出更高效地在树中插入、查找和删除节点的算法。二叉搜索树(BST)是二叉树的一种,但是只允许你在左侧节点存储(比父节点)小的值,在右侧节点存储(比父节点)大的值。中序遍历的值 3 5 6 7 8 9 10 11 12 13 14 15 18 20 25先序遍历的值 11 7 5 3 6 9 8 10 15 13 12 14 20 18 25后序遍历的值 3 6 5 8 10 9

2021-09-05 18:06:55 91

原创 7__递归__

递归递归阶乘function factorial(n) { if (n === 1 || n === 0) { return 1; } return n * factorial(n - 1);}JavaScript 调用栈大小的限制// 栈溢出错误,测试浏览器上限let i = 0;function recursiveFn() { i++; recursiveFn();}try { recursiveFn();} catch (ex) { cons

2021-09-01 20:29:13 87

原创 6__字典和散列表__

字典和散列表字典也称作映射、符号表或关联数组// 默认变字符串String,把所有作为键名传入的对象转化为字符串// 注意:item变量是对象的话会导致输出为 [object Object]function defaultToString(item) { if (item === null) { return "NULL"; } else if (item === undefined) { return "UNDEFINED"; } else if (typeof i

2021-08-30 21:03:45 158

原创 5__集合__

集合(不允许值重复的顺序数据结构)没有副作用的方法和函数被称为纯函数。纯函数不会修改当前的实例或参数,只会生成一个新的结果。本文实现的 union、intersection 和 difference 方法不会修改当前的 Set 类实例或是作为参数传入的 otherSet。这在函数式编程中是非常重要的概念class Set { constructor() { this.items = {}; } // 向集合添加一个新元素 add(element) { if (!thi

2021-08-29 16:54:55 95

原创 4__链表__

链表链表数据结构(普通链表)// 单向链表function defaultEquals(a, b) { return a === b;}class Node { constructor(element, next) { // 要加入链表元素的值 this.element = element; // 指向链表中下一个元素的指针 this.next = next; }}class LinkedList { // 类实例化时传入的参数会用作构造函

2021-08-28 23:22:23 98

原创 Vue.js插槽

普通插槽<!-- son.vue 组件 --><template> <div class="sslot"> <h3>{{ title }}</h3> <slot></slot> </div></template><script> export default { props: ["title"], };</script>&

2021-08-26 23:03:25 151

原创 3__队列和双端队列__

队列和双端队列(先进先出)创建队列class Queue { constructor() { // 队列的大小 this.count = 0; // 队列第一个元素 this.lowestCount = 0; this.items = {}; } // 向队列添加元素,新的项只能添加到队列末尾 enqueue(element) { this.items[this.count] = element; this.count++; }

2021-08-25 23:12:15 107

原创 2__栈(先进后出)__

栈(先进后出)创建一个基于数组的栈class Stack { constructor() { this.items = []; } // 添加一个(或几个)新元素到栈顶 push(element) { this.items.push(element); } // 移除栈顶的元素,同时返回被移除的元素 pop() { return this.items.pop(); } // 返回栈顶的元素,不对栈做任何修改(该方法不会移除栈顶的元素,仅仅返回它

2021-08-24 22:55:57 167

原创 1__数组__

数组数组API请点击先写个斐波那契数列// 求斐波那契数列的前n个数function Fibonacci(n) { const fibonacci = []; fibonacci[1] = 1; fibonacci[2] = 1; for (let i = 3; i < n; i++) { fibonacci[i] = fibonacci[i - 1] + fibonacci[i - 2]; } for (let i = 1; i < fibonacci.

2021-08-24 22:48:03 76

原创 TypeScript 文档

TypeScript 文档基础类型布尔值let isDone: boolean = false;数字let decLiteral: number = 6; //十进制let hexLiteral: number = 0xf00d; //十六进制let binaryLiteral: number = 0b1010; //二进制let octalLiteral: number = 0o744; //八进制字符串// 普通字符串let name: string = "bob";name

2021-07-30 23:12:26 441

原创 Vue Vuex

VuexVuex 是一个专为 Vue.js 应用程序开发的状态管理模式StateGettersMutationsActionsModules// store中state: { uname: "lena";}mutations:{ setUname(state,uname){ state.uname=uname; }}actions:{ // 发送异步请求,调用mutations的函数,修改state的数据 vlogin(context,form){

2021-07-14 19:42:32 65

空空如也

空空如也

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

TA关注的人

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