![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js
文章平均质量分 71
xiaohuihui_z
这个作者很懒,什么都没留下…
展开
-
js执行顺序问题
在实践中才慢慢明白了js执行顺序问题遵循事件循环机制,当JS解析执行时,会被引擎分为两类任务,同步任务(synchronous) 和 异步任务(asynchronous)。对于同步任务来说,会被推到执行栈按顺序去执行这些任务。对于异步任务来说,当其可以被执行时,会被放到一个 任务队列(task queue) 里等待JS引擎去执行。当执行栈中的所有同步任务完成后,JS引擎才会去任务队列里查看是否有任务存在,并将任务放到执行栈中去执行,执行完了又会去任务队列里查看是否有已经可以执行的任务。这种循环检查的机制,原创 2021-08-16 10:42:26 · 1652 阅读 · 0 评论 -
垃圾回收机制和内存泄露问题
浏览器的 Java 具有自动垃圾回收机制(GC:Garbage Collecation),也就是说,执行环境会负责管理代码执行过程中使用的内存。其原理是:垃圾收集器会定期(周期性)找出那些不在继续使用的变量,然后释放其内存。但是这个过程不是实时的,因为其开销比较大并且 GC 时停止响应其他操作,所以垃圾回收器会按照固定的时间间隔周期性的执行。不再使用的变量也就是生命周期结束的变量,当然只可能是局部变量,全局变量的生命周期直至浏览器卸载页面才会结束。局部变量只在函数的执行过程中存在,而在这个过程中会为局部变转载 2021-02-25 16:58:13 · 228 阅读 · 0 评论 -
js正则表达式用法和实例
一、正则表达式的() [] {}有不同的意思。()代表的是同时匹配的字符如:(abc|bcd|cde),表示这一段是abc、bcd、cde三者之一均可,顺序也必须一致(abc)?,表示这一组要么一起出现,要么不出现,出现则按此组内的顺序出现二、方括号是单个匹配,字符集/排除字符集/命名字符集示例:1、[0-3],表示找到这一个位置上的字符只能是0到3这四个数字,与(abc|bcd|cde)的作用比较类似,但圆括号可以匹配多个连续的字符,而一对方括号只能匹配单个字符2、[^0-3],表示找到这一原创 2021-01-26 12:20:08 · 1351 阅读 · 0 评论 -
解析文本换行符问题
1、自定义的含有\n\r\ es6``可以直接解析2、后端回传的含有‘尊敬的客户:xxx,\r\n你好’\r\n解析的话 用正则var string = strring.replace(/\r\n/,’’) //\一定的多加个烦斜线 要不解析不出来上边这一步骤的话 页面用v-hmtl是直接可以把解析出来但是有的需求是要用v-text/v-model的话需要在进行一步操作string = strring.replace(/<br/>/,’\n’)...原创 2020-12-21 17:10:30 · 679 阅读 · 1 评论 -
IE导出文件报错问题
一般在google上导出没有问题导出方法也是后端直接给浏览器跳转window.location.href = ‘url’在IE上如果导出传递的参数有中文的话 会报错所以用encodeURI(url)就可以了原创 2020-11-25 20:31:37 · 408 阅读 · 0 评论 -
正则校验${}
身份证let patter =/1\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]KaTeX parse error: Can't use function '\.' in math mode at position 42: …[1-9]([0-9]+)?(\̲.̲[0-9]{1,2})?)|(^(0){1}KaTeX parse error: Can't use function '\.' in m原创 2020-11-19 20:13:35 · 327 阅读 · 0 评论 -
vue强制刷新页面
Vue刷新页面的三种方式 亲测有效我们在写项目的时候,经常会遇到,用户执行完某个动作,改变了某些状态,需要重新刷新页面,以此来重新渲染页面。如:用户登录成功、增加、删除、更新等。1.原始方法:location.reload();2.vue自带的路由跳转:this.$router.go(0);用过的人都知道,前两者都是强制刷新页面,会出现短暂的闪烁,用户体验效果不好。所以,我们选择第三种方式:3.首先在App里面写下如下代码:(局部刷新) 接下来,我们就可以在需转载 2020-09-25 16:45:07 · 4335 阅读 · 0 评论 -
vue中使用原生js自定义事件监听
vue项目中引入外部js 需要通过外部js触发vue组件执行某些事件JS中,最简单的创建事件方法,是使用Event构造器:事件的定义var myEvent = new Event(‘event_name’);但是为了能够传递数据,就需要使用 CustomEvent 构造器:var myEvent = new CustomEvent(‘event_name’, {detail:{data:‘要传输的值’},});事件的注册//假设listener注册在window对象上window.a原创 2020-09-22 19:33:08 · 1731 阅读 · 0 评论 -
js 函数提升
//js创建函数有两种方式:函数声明式和函数字面量函数提升只存在函数声明式中console.log(f1) //function f1(){}console.log(f2) //undefined var f2 = function(){} //这种叫函数字面量式或者叫句柄 function f1(){} //实际上是这样的 function f1(){} console.log(f2) var f2 = function(){} ...原创 2020-05-25 17:13:46 · 647 阅读 · 0 评论 -
js传递参数
js高级程序设计上说明对象是按值传递的下面这个经过修改的例子:function setName(obj) {obj.name = “Nicholas”;obj = new Object(); 这个相当于新创建的对象,指向一个新地址obj.name = “Greg”;}var person = new Object();setName(person);alert(person.na...原创 2020-04-17 17:00:12 · 125 阅读 · 0 评论 -
循环语句
常见的循环语句do while ----while ------fordo{语句体}while();do while先执行在判断while(){ 先判断在执行}for-in 语句是一种精准的迭代语句,可以用来枚举对象的属性。for(var item in obj){console.log(item)//item就是对象的key}switch等值判断switch(变量){...原创 2020-04-15 22:38:49 · 122 阅读 · 0 评论 -
引用类型和基本类型的区别
/*** 基本数据类型* Undefined Null String Number Boolean** 引用类型* Object** JS中变量都是存储在栈内存中* 基本数据类型是直接存储在栈内存中 值与值之间是独立的** 对象类型是保存在队内存中的,每创建一个新的对象,就会在堆内存中开辟一个新空间* 而变量保存的是对象的内存地址(对象的引用)*/ var a = 12...原创 2020-04-14 22:39:31 · 174 阅读 · 0 评论 -
关于值引用的小总结
原始值和引用值在 ECMAScript 中,变量可以存在两种类型的值,即原始值和引用值。原始值存储在栈(stack)中的简单数据段,也就是说,它们的值直接存储在变量访问的位置。引用值存储在堆(heap)中的对象,也就是说,存储在变量处的值是一个指针(point),指向存储对象的内存处。为变量赋值时,ECMAScript 的解释程序必须判断该值是原始类型,还是引用类型。要实现这一点,解释...原创 2019-12-30 17:41:49 · 155 阅读 · 0 评论 -
promise的使用可以解决异步加载问题
promise的使用可以解决异步加载问题new Promise(function(resolve,reject){var dataresolve(data)}).then(function(data){console.log(data)//data就是resolve传递过来的值})对于循环嵌套异步请求的可以采用下边方法记录循环var num=0;for(var i=0;i<...原创 2019-12-24 15:56:38 · 285 阅读 · 0 评论 -
formData
formData的作用1、将form表单元素的name与value进行组合,实现表单数据的序列化,从而减少表单元素的拼接,提高工作效率。2、异步上传文件formData如何使用以及理解创建对象var formData = new formData();//可以通过append()方法来追加数据formdata.append(“name”,“对应的值”);//通过get方法对值进行读...原创 2019-12-03 10:29:38 · 535 阅读 · 0 评论 -
上传下载文件
//下载requestDownloadExcel(param).then(response=>{let blob = new Blob([response]); // 这个content是下载的文件内容if (‘download’ in document.createElement(‘a’)) {let aTag = document.createElement(‘a’); ...原创 2019-12-02 16:49:46 · 96 阅读 · 0 评论 -
后端返回的图片验证码刷新问题
后端直接返回一个地址路径 通过使用随机数可以实现刷新效果this.verifyImage = ‘http://www…xx/VerifyImage?’+Math.random() ;原创 2019-12-02 15:29:20 · 578 阅读 · 0 评论