JavaScript事件循环机制 宏任务和微任务

时间:2021-7-27   作者:lininn   分类:   热度:12°    
时间:2021-7-27   分类:    热度:12  
我们知道JavaScript是单线程的,意思就是一个时间只能做一件事情。就比如车站过安检一样,都会一个个通过,这就是单线程。那么这样问题就来了,假如程序中有一个很慢的http请求,用户必须要等待响应才可以继续后续的操作,这样就不妥了。所以我们就让长时间请求的程序代码挂起,让用户先操作其他事情。 在JavaScript中,我们把任务分为同步任务和异步任务。首先我们看一段代码的执行顺序。 console.log('1'); setTimeout(function() { console.log('2'); process.nextTick(...

阅读全文>>

前端,node生成uuid

时间:2021-7-27   作者:lininn   分类:   热度:24°    
时间:2021-7-27   分类:    热度:24  
npm install uuid --save import { v4 as uuidv4 } from 'uuid'; function render(){ for(var i=0;i<20;i++){ console.log(uuidv4()) } } render();

阅读全文>>

扁平数据结构转Tree

时间:2021-7-14   作者:lininn   分类:   热度:56°    
时间:2021-7-14   分类:    热度:56  
let arr = [ {id: 1, name: '部门1', pid: 0}, {id: 2, name: '部门2', pid: 1}, {id: 3, name: '部门3', pid: 1}, {id: 4, name: '部门4', pid: 3}, {id: 5, name: '部门5', pid: 4}, ] 时间复杂度 时间复杂度的计算并不是计算程序具体运行的时间,而是算法执行语句的次数。 随着n的不断增大,时间复杂度不断增大,算法花费时间越多。 常见的时间复杂度有 常数阶O(1) 对数阶O(log2 n) 线性阶O(n) ...

阅读全文>>

TradingView全屏显示后,依旧保持可打开/关闭全屏功能

时间:2021-6-29   作者:lininn   分类:   热度:56°    
时间:2021-6-29   分类:    热度:56  
简单说,需要你自定义图表~ 思路:就是将TradingView自带的全屏按钮给隐藏起来,然后自定义图表实现逻辑咯。 let's do it! 1.首先将header_fullscreen_button如下配置 disabled_features: [ "header_fullscreen_button", //隐藏头部全屏按钮 ] 2.然后再chartReady函数里进行如下代码配置即可: const buttonEvent = widget.createButton({align: "right"}); const button =...

阅读全文>>

js获取浏览器和电脑的放大倍数

时间:2021-6-24   作者:lininn   分类:   热度:59°    
时间:2021-6-24   分类:    热度:59  
如果我们可以通过js获取到电脑的默认缩放,那对我们做页面适配将会有很大的帮助。下面就跟大家分享下js代码: function detectZoom() { let ratio = 0 const screen = window.screen const ua = navigator.userAgent.toLowerCase() if (window.devicePixelRatio !== undefined) { ratio = window.devicePixelRatio } else if ...

阅读全文>>

vuecli4配置热更新失效或不能及时更新

时间:2021-5-8   作者:lininn   分类:   热度:173°    
时间:2021-5-8   分类:    热度:173  
官方文档; vue-cli-service serve 命令会启动一个开发服务器 (基于 webpack-dev-server ) 并附带开箱即用的模块热重载 (Hot-Module-Replacement)。 (我的问题好像是没安装,具体的自己再看看) webpack4.0需要手动配置开启热更新,默认没有开启 解决办法 一,安装依赖webpack-dev-server 根据自己的情况安装npm / cnpm npm install --save-dev webpack-dev-server&nbs...

阅读全文>>

升级bable 7+

时间:2021-5-7   作者:lininn   分类:   热度:139°    
时间:2021-5-7   分类:    热度:139  
升级babel 7,官方提供了一个工具babel-upgrade,对于已有的项目,只需要运行一行命令就可以升级到7版本以上了。 运行命令:npm babel-upgrade --write --install  安装出现如下提醒   请执行以下代码: npm install --save @babel/runtime-corejs2

阅读全文>>

通过babel配置使用可选链`?.`和双问号`??`

时间:2021-5-7   作者:lininn   分类:   热度:206°    
时间:2021-5-7   分类:    热度:206  
什么是可选链 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining 当访问多层对象属性(如o.a.b)时,如果属性a为空,则会报引用错误 为此我们不得不这么处理: const c = o.a && o.a.b ? o.a.b : undefined 有了可选链,就可以对一个为null或者undefined属性安全引用: const o = {} const tryA_B = o?.a?.b...

阅读全文>>

ElmentUI 设置禁止点击遮罩关闭 el-dialog 弹窗

时间:2021-4-27   作者:lininn   分类:   热度:214°    
时间:2021-4-27   分类:    热度:214  
el-dialog 弹窗初始化默认点击弹窗组件以外区域(遮罩)会导致该组件关闭 方法一:(局部控制) 修改 close-on-click-modal 属性改为 false 可以禁止点击遮罩关闭弹窗(默认是true) 注:在使用 close-on-click-modal 属性时,必须在该属性前加冒号 " : " 方法二:(局部控制) 添加 before-close 属性,在 dialog 关闭时,让用户进行确认是否需要关闭 handleClose(done) {     this.$confirm('确认关闭?').then(_ =>...

阅读全文>>

返回顶部    首页    手机版本    后花园   会员注册   
版权所有:覆手为雨    站长: lininn