- 博客(35)
- 资源 (1)
- 收藏
- 关注
转载 JS垃圾回收机制
调用fn1()后其内部所占用的内存空间会回收释放,比如我们的obj1 和 obj2,因为在全局的地方已经没有引用指向obj1/obj2的情况了,所以引用计数为0,当回收obj1、obj2时,发现obj2的属性指向obj1,obj1的属性指向obj2,有着互相的指引关系,所以引用计数数值不为0,所以这一块空间也释放不了。由于引用计数算法时刻监控着那些引用数值为0的对象,当内存爆满的时候会去找那些引用数值为0的对象释放其内存,这个也就保证了当前的内存空间不会有占满的时候)可以回收循环引用的对象空间。
2023-04-12 22:53:56
160
原创 作用域、闭包的理解、GC算法
从上面可以看出我们每次执行函数n都是被销毁的,无论我们执行多少次。同理,新声明一个let b = hd()这是再次调用hd,又重新分配一个内存空间,所有就有了下面打印结果。以最开始的例子为例,函数a中i只有函数b才能访问,而无法通过其他途径访问到,因此保护了i的安全性。依然如前例,由于闭包,函数a中i的一直存在于内存中,因此每次执行c(),都会给i自加1。定期从根(即全局变量)开始向下查找,能找到的即保留,找不到的即回收。被外部引用无法销毁,同样n也是一样,他们是一个大家庭,那么每次执行n就会被加+
2023-04-12 22:45:15
505
原创 vue的自定义指令
prevNode:之前的渲染中代表指令所绑定元素的 VNode。在开发的过程中,我们虽然使用过很多vue的内置指令,如;oldValue:之前的值,仅在beforeUpdate和update中可用,无论值是否更改,它都可用。但是没有自己写过一个自定义的指令,因为要做用户的权限操作,就自己写一个v-perssion的指令。我们可以看到在元素的不同生命周期中有对应的钩子函数。arg:传递给指令的参数v-dome:foo中参数是“foo”自定义指令主要是为了重用涉及普通元素的底层 DOM 访问的逻辑。
2023-04-10 23:06:38
505
原创 vue原理理解记录
但是随着我们开发过程中遇到各种的问题,如果我们想要快速的解决问题和了解其原理的时候,那么就需要我们对vue原理进行学习和深入的研究。有时候我们使用v-for的时候要使用key,但是你知道为什么要使用key吗,我们知道data的数据发生变化时,页面上就会发生相应的变化这个又是因为什么呢,带着这样的疑问,我们学习一下,是什么能够帮助我们实现响应式和vue 的diff算法、双向绑定、mvvm设计模式。//创建新的对象原型指向我们新定义的arrProperty,再扩展新的方法不会影响原型。
2023-04-10 22:30:28
325
原创 BFC理解和应用
现象:有些同事在工作的过程中遇到高度塌陷、margin重叠、标准元素被浮动元素覆盖的情况,有时候通过百度的方法是解决了,但是没有理解其原因是什么。什么是高度塌陷,在其子元素中设置了浮动的效果(子元素变成了一个独立的渲染区域即BFC),而浮动元素脱离了标准的文档流,导致当前的元素没有被撑起来,这种现象就是高度塌陷。BFC: Block format content 即块级格式化上下文 ,它是一块独立的渲染区域,内部元素的渲染不会影响边界以外的元素。清除浮动,其实这个也有很多的方法,我们这里只写推荐的一种。
2023-04-08 23:10:14
426
原创 vue3之composition API 优点
这个setup attribute是一个标识,告诉Vue需要在编译时进行一些处理,让我们可以更简洁的使用组合式API。比如,<script setup> 中的导入和顶层变量/函数都能够在模板中直接使用。官方:通过组合式API,我们可以使用导入的API函数来描述组件逻辑。在单文件组件中,组合式API通常会或<scripte setup>搭配使用。以下完全是vue.js 官方的介绍,可以解决使用过程中对于导入和顶层变量、函数在模板中可以直接使用的理解。下面是使用了组合式 API 与。
2023-04-08 22:06:08
194
原创 element plus 语言切换组件使用
背景:现在的很多网站要求支持多种语言切换需求,element plus 正好有这种组件可以满足这种需求。使用element plus的效果。
2023-03-27 21:40:55
1232
原创 electron 安装失败 RequestError: read ECONNRESET
electron 安装失败 RequestError: read ECONNRESET
2023-03-12 14:12:57
4221
1
原创 toggleRowSelection nextTick失效问题解决
if(rows){rows.forEach(row => {this.$nextTick(()=>{ this.$refs.multipleTable.toggleRowSelection(this.list.find(e=>e.id==row.id),true);});});}重点在于和当前的列表数据匹配对应上
2022-02-11 15:42:30
479
原创 js 取整的方式
1、向上取整数 规则:整数部分+1 Math.ceil(2.112)//=3 2、向下取整数 规则:整数部分 Math.floor(2.112) // 2 3、四舍五入 Math.floor(2.112) //2...
2021-12-08 11:38:43
1427
原创 js对数组分组和排序处理
一、js数组分组1.js对数据分组类似group by源码如下:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" c.
2021-11-17 11:07:26
2290
原创 js 定时器
js 定时器有以下两个方法:setInterval() :按照指定的周期(以毫秒计)来调用函数或计算表达式。方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。按照指定的周期 setTimeout() :在指定的毫秒数后调用函数或计算表达式。 单次的调用1、setInterval()语法setInterval(code,millisec,lang)2、 clearInterval(clock);//清除js定时器3 、 定时器的使用流程t..
2021-09-14 21:01:41
350
原创 过滤器的使用
过滤器的作用是对一些数据进行一些处理,常用于格式的转换和枚举的处理、某一类数据的处理等。1.定义的方法 全局定义 Vue.filter('moment',function(data){ return moment(e).format('YYYY-MM-DD HH:mm:ss') });局部的定义filters和methods一级 filters:{ moment: function(data){ return moment(...
2021-09-09 09:44:28
62
原创 tinymce富文本使用详解
1、不要去看tinymce的中文翻译的,可能是低版本的使用方式,最新的tinymce.init和中文班上面的存在不太一样的情况。下面介绍最简单的使用方面及遇到问题的解法。2、在tinymce上面注册一个账号。会有这样的快速生成的案例。3、直接把上面的代码copy到你的项目中就可以直接的查看效果的。4、虽然上面的已经可以很好的展示了,但是会提示一些信息。 this domain is not registered with Tiny Cloud . Please review your..
2021-08-27 16:13:49
1972
原创 批量处理for 循环超时停止心跳,要添加sleep 激活
const sleep = (ms) => { return new Promise(resolve => setTimeout(resolve, ms));}批量处理for 循环超时停止心跳,要添加sleep 激活
2021-02-26 11:19:35
308
原创 node 将任意的网络文件转为base64
letfileBuffer=awaitctx.curl(FILEURL);fileBuffer=fileBuffer.data.toString('base64');
2021-02-26 11:01:48
434
原创 js 中判断数组中是否存在某个值
1.javascript的indexOf()方法 查找数组中的 "Apple" 元素:var fruits = ["Banana", "Orange", "Apple", "Mango"]; var a = fruits.indexOf("Apple");//如果存在返回值的下标,不存在返回-12.jquery的$.inArray()方法 $(function () {
2019-01-18 11:25:57
1865
原创 前端的动态赋值的操作
不能直接form=stemp;这样会把之前的一些数据给改变了,这里是给一些数据转化一下方案一:可行var stemp = Object.assign({},row); var ob=JSON.stringify(stemp); var object=JSON.parse(ob); this.form=ob...
2019-01-08 21:29:34
2069
原创 何时能不惑 , 一个程序员
什么是不惑?意思是遇事能明辨不疑。但是对于一个程序员来时,简单的来说就是不用询问别人,就能知道问题是什么,而且可以解决问题 但是达到不惑是何其的难。目前的状况目前,想把工作的重心侧重在java方面,要对Java后端的知识进行系统的学习,但是由于公司的需要,做了一段时间的C#现在这段时间有做大前端的东西,感觉这段时间,对自己的期望有一些偏差,Android方面的没有深入的研究,Java的也停止的学习...
2018-05-03 10:21:56
228
原创 Uncaught SyntaxError: Unexpected token 问题
本次主要是为了记录自己在开发过程中遇到的问题,以方便后续开发的时候,能够快速的找到问题在用 vue.js和node.js 、egg .js来开发时出现的问题。Uncaught SyntaxError: Unexpected token 问题,之前也出现过这样的问题,但是去解决的时候突然忘记该怎么去解决,然后又要一点的去打印去看哪里出现问题。这里出错,那就从这里出发去查找问题,这里是不是数据出现问题...
2018-04-20 16:13:51
15452
1
原创 Java 使用 POI 3.17根据Word 模板替换、操作书签
由于项目的需求,需要对大量的word文档进行处理。查找了大量的文档发现很多的博客对这个进行了介绍,主要有2种方案做处理,jacob 和poi。但是现在的服务器基本上是部署在Linux上,所以jacob基本上是不可行的。所以呢,主要是使用poi来进行这些操作。 Apache poi的hwpf模块是专门用来对word doc文件进行读写操作的。在hwpf里面我们使用HWPFDocument...
2018-04-09 12:04:58
19735
11
原创 Retrofit+ okhttp3 +https的网络请求
背景 目前,Google对HttpClient的摒弃,虽然之前一段时间volley的得到一定的关注,但是后来关注度逐渐的降低,但是Retrofit的依然是各大的Android开发者使用作为网络请求的框架,而且retrofit对okhttp进行了很好的依赖。 Retrofit是由square公司开发的。square在github上发布了很多优秀的Android开源项...
2018-03-08 18:02:36
1426
原创 前端get和post请求的入门总结
最近一段时间开始入手前端页面和后端功能的编写,对于get和post请求,只知些许的皮毛,现在综合网上的一些文案,做一下总结。1、HTTP 请求:GET vs. POST两种在客户端和服务器端进行请求-响应的常用方法是:GET 和 POST。GET - 从指定的资源请求数据POST - 向指定的资源提交要处理的数据GET 基本上用于从服务器获得(取回)数据。注
2018-01-15 15:54:01
11177
原创 项目或者新的迭代,作为开发者我们要注意和准备的
感想1、最近时间看了一些东西,结合项目中遇到的问题和不足的地方,谈谈在以后项目及新的迭代中我们要注意的地方。谈谈遇到的问题 1、项目中多处用
2017-08-14 15:59:25
1108
原创 设计模式学习之路--观察者模式
1、观察者模式描述 关于什么是观察者模式,我们拿报社和订阅者的关系用比较通俗的语言来描述一下: 1、报社的业务就是出版报纸。 2、向某家报社订阅报纸,只要他们有新的报纸,就会给你送来。只要你是它的订阅者,你就会收到新的报纸。 3、当你不想再看报纸的时候,取消订阅,他们就不会再送新报纸来。 4、只要报社还在运营,就回一直有人来向他们订阅报纸。 由此可以
2017-07-24 16:45:46
411
原创 设计模式学习之路--策略模式
学习背景 基于一段时间的开发,感觉日复一日的硬编码,对自己的实力的提高作用很小,只是对之前编码的一个复用,感觉总是在进行一些if else的操作。所以抽个时间来学习一下设计模式相关的东西,看看对自己编码过程中遇到的一些问题能否进行解决和改善现在编码的一些误区。入手了一本设计模式的书籍《head First 设计模式》进行学习。 策略模式介绍 什么是策略模式呢?
2017-07-20 21:51:49
210
原创 RecyclerView适配器的封装,针对于要加载数据、没有更多,没有数据的情况的处理
现在的项目必不可少的就对数据填充适配,网上有很多的文章都有相关的介绍,我就不做详细的说明介绍了。 部分的方法的简单的说明 1、getItemViewType(int position) 这个方法就是,针对不同的item做不同的标识,然后根据根据这个标识来选择不同的布局 2、onCreateViewViewHo
2017-06-09 10:55:41
2306
原创 Android系统中Parcelable和Serializable处理
android开发过程中需要对一些对象进行传递,但是要对数据进行传递需要对所传对象进行序列化,而java也提供了相应的类来处理,下面对Parcelable和Serializable做一下简单的介绍。 1、Parcelable和Serializable都是java中对数据进行序列化的Serializable的作用是为了保存对象的属性到本地文件、数据库、网络流、rmi以方便数据传输,当然这
2017-05-27 16:22:51
374
原创 String的截取和String的SpannableString的使用来丰富TextView的样式和减少布局的嵌套
有时候,感觉总是去在网上查看别人的东西然后再自己用,其实这也没有什么,但是为什么不自己总结一下呢,这样也方便自己在以后的使用中很方便的拿来用1、String的截取 源码如下: public int indexOf(String str) { throw new RuntimeException("Stub!"); } public int i
2017-02-23 15:47:26
497
原创 android布局优化的重要性
对于像我们一些刚刚开始工作的的人来说,往往认为根据设计稿我们设计出来就行,然而却没有考虑到android加载的机制,有时候我们可能并不知道我们的布局是否需要优化,就可能对我们的布局没有什么感觉,下面是我们根据最近一个项目来说说。 1、布局的hierarchyviewer图和效果的截图我们可以看到就是一个简单的布局,我们往往没有注意,就会出现这种过度的绘制,如果我们不知道什么是过
2017-02-23 14:20:55
611
原创 更好的使用Fragment及避免使用时出现的问题
在之前的使用过程中感觉用到的时候只需要在网上随便的查到一下相应的代码就可以很轻松的使用Fragment了,但是之后项目中总是会出现这样那样的问题,为什么呢,主要是我们没有真正的学习到Fragment的使用精髓和使用技巧,导致我们编码时出现很多问题,造成了我们做了很多无用功,有了之前的经历,我这里就详细的学习了一下Fragment。1、Fragment的介绍和使用场景 随着移动信息的快速
2017-02-16 12:21:52
496
原创 项目的基础准备的重要性
论一个项目的基础准备的重要性:在准备开发一个项目的时候,往往开始的很是仓促,准备的不是很到位,往往在后面的时候会很艰难,一些公共的东西要分别去修改,有的地方还有很多的东西没有去修改,我相信你们刚开始开发的时候也遇到这样的情况,写下这边文章,给遇到这样问题的提个醒。我们需要准备哪些东西的我们首先需要一个好的框架是MVP还是MVVM等,考虑好要使用要那些三方的库之前有很多的项目没有重视
2017-02-08 12:11:23
427
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人