
js
Lval
这个作者很懒,什么都没留下…
展开
-
echarts地图坐标系及多个省份json文件的合并
安装echartsyarn add echarts获取省市区数据来源的json文件var uploadedDataURL = "./js/henan.json"; //地区的json (function(){ $.getJSON(uploadedDataURL,null,function(data){ var myChart = echarts.init(document.getElementById('chart1'), "westeros"); echarts.原创 2021-09-07 14:04:23 · 1802 阅读 · 0 评论 -
宏任务与微任务
宏任务script全部代码、setTimeout、setInterval、setImmediate(浏览器暂时不支持,只有IE10支持,具体可见MDN)、I/O、UI Rendering。微任务Process.nextTick(Node独有)、Promise.then()、Object.observe(废弃)例:new Promise((resolve) => { console.log('1'); resolve()}).then(() => { con原创 2021-04-12 11:59:35 · 103 阅读 · 0 评论 -
this关键字指向
最近看了一篇掘金上关于this的文章,感觉写的很好,在此记录一下,方便日后查看传送门@前端小姐姐this是什么this是什么?首先记住this不是指向自身!this 就是一个指针,指向调用函数的对象this的绑定规则默认绑定隐式绑定硬绑定new绑定默认绑定默认绑定,在不能应用其它绑定规则时使用的默认规则,通常是独立函数...转载 2019-03-25 12:00:35 · 213 阅读 · 0 评论 -
html2canvas生成图片
工作原理html2canvas库的工作原理并不是真正的“截图”,而是读取网页上的目标DOM节点的信息来绘制canvas,所以它并不支持所有的css属性(参考地址)引入html2canvas<script src="./html2canvas.min.js"></script>下载地址基本语法<div id="cvs-box"><img style="width: 100px;" id="test-img" crossorigin="anonymous"原创 2021-04-01 18:40:59 · 29972 阅读 · 0 评论 -
Proxy代理
Proxy用于创建一个对象的代理,从而实现基本操作的拦截和自定义语法const p = new Proxy(target, handler)参数target 要使用 Proxy 包装的目标对象(可以是任何类型的对象,包括原生数组,函数,甚至另一个代理)handler一个通常以函数作为属性的对象,各属性中的函数分别定义了在执行各种操作时代理 p 的行为。基础示例getget方法用于拦截某个属性的读取操作,可以接受三个参数,依次为目标对象、属性名和 proxy 实例本身(用到data时会触发)原创 2021-03-29 16:58:31 · 263 阅读 · 0 评论 -
继承
寄生组合继承1.借助call()使子类可以拿到父类的属性值2.将子类原型对象替换为父类原型对象3.为新的子类prototype对象加上constructor属性,并将这个属性指回原来的构造函数。 function Parent () { this.name = 'parent'; this.play = [1, 2, 3]; } function Child() { Parent.call(this); //借助call()使子类可以拿到父类的属性值 thi原创 2020-05-21 12:05:17 · 193 阅读 · 0 评论 -
网页字体适配方案
微信安卓版 7.0.10 版本起,网页的字体大小会跟随微信全局设置里的字体大小。若用户设置了较大字体后,可能导致网页的排版出现错乱,建议开发者做好较大字体的适配document.addEventListener("WeixinJSBridgeReady", function () { WeixinJSBridge.invoke("setFontSizeCallback", { fon...转载 2020-01-03 15:00:37 · 680 阅读 · 0 评论 -
setTimeout的第三个参数
setTimeout第三个参数应用setTimeout函数有三个参数fn:(必传)需要执行的函数time:(非必传)传值时:倒计时time毫秒后执行fn不传时:默认为0,fn在最早可得的空闲时间执行,在"任务队列"的尾部执行fn,因此要等到同步任务和"任务队列"现有的事件都处理完,才会得到执行。param:(非必传)fn函数的参数for(var i = 0; i<6; i+...原创 2019-10-22 10:42:04 · 3973 阅读 · 0 评论 -
禁止手机页面回退
js.<script language="javascript"> //防止页面后退 使用在vue时 挂载到mounted中 history.pushState(null, null, document.URL); window.addEventListener('popstate', function () { history.pushState(null,...原创 2019-09-16 15:04:09 · 721 阅读 · 0 评论 -
深拷贝
最简单的深拷贝(JSON.stringify() 和JSON.parse())先把对象使用JSON.stringify()转为字符串,再赋值给另外一个变量,然后使用JSON.parse()转回来即可原创 2019-09-06 18:08:52 · 1714 阅读 · 0 评论 -
js递归
递归的理解1.在函数内部调用自身function fun(){//自己调用自己,称为递归调用 fun(); console.log("aa");}fun();2.明确递归结束的条件一.阶乘//用递归来求10的阶乘//n != n*(n-1);//定义一个函数,用于求n的阶乘function fun(n){ if(n == 1){ return 1; } retu...原创 2019-07-04 16:34:13 · 204 阅读 · 1 评论 -
Promise对象
参考自阮老师的ES6入门教程传送门Promise用法Promise是一个构造函数,自己身上有all、reject、resolve这几个方法,原型上有then、catch等方法。var p = new Promise(function(resolve, reject){ //做一些异步操作 setTimeout(function(){ console.log(...转载 2019-07-09 15:49:56 · 191 阅读 · 0 评论 -
js数组合并
js数组合并的方法1.for循环遍历其中一个数组,把该数组中的所有元素依次push到另外一个数组中let arr1 = [1,2,3];let arr2 = [4,5,6];arr1.foreach(v,i)=>{ return arr2.push(v)}2.concat方法,连接两个或更多的数组,并返回结果,let arr1 = [1,2,3];let arr2 = [...原创 2019-07-09 11:12:50 · 3161 阅读 · 0 评论 -
canvas字体换行
canvas绘制的字体换行问题描述:canvas绘制的字体是不会自动换行的,也没有相关的api,所以我们想要canvas文字自动换行,只能利用js从字体长度或字数入手相关api:canvas measureText()在画布上输出文本之前,检查字体的宽度利用这个方法我们可以在文字超出指定长度后做换行处理HTML<div class="mask_operation" v-show="...原创 2019-06-17 10:16:33 · 6155 阅读 · 1 评论 -
js常见数组的方法及高阶函数
forEach的用法一般数据遍历方法 var array = [1,2,3,4,5,6,7]; for (var i = 0; i < array.length; i) { console.log(i,array[i]); } for in 方法遍历数组 for(let index in array) { con...原创 2019-03-18 00:18:26 · 2154 阅读 · 0 评论 -
移动端的视口设置
视口的设置 1 <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" /> 以上代码常见于移动端设置,他的作用是使网页的宽度自动适应手机屏...转载 2019-04-18 04:01:05 · 1825 阅读 · 0 评论