javascript
web老张头
学无止境,仗剑天涯
展开
-
VUE页面导出PDF方案
1,技术方案为:html2canvas把页面生成canvas图片,再通过jspdf生成PDF文件;原创 2023-11-09 17:09:30 · 2193 阅读 · 1 评论 -
js为啥是设计成单线程而不是多线程呢
js为啥是设计成单线程而不是多线程呢原创 2023-07-11 16:09:37 · 593 阅读 · 0 评论 -
vue3+vant4 图片上传带图片大小压缩
vue3+vant4 图片上传带图片大小压缩原创 2023-03-22 15:05:23 · 2207 阅读 · 0 评论 -
Vue集成three.js,并加载glb、gltf、FBX、json模型
Vue集成three.js,并加载glb、gltf、FBX、json模型转载 2022-09-14 15:09:49 · 6495 阅读 · 0 评论 -
rem移动端单位适配
纯H5移动端的适配,一般方案都是rem自动转px方案,自适应手机屏幕;只需将以下自执行的js引入即可: (function (doc, win) { var docE1 = doc.documentElement, resizeEvt = "orientationchange" in window ? "orientationchange" : "resize", recalc = function () { v原创 2022-03-04 20:54:33 · 100 阅读 · 0 评论 -
js将“true“转化为Boolean类型
如果遇到element-ui的radio取值时,后台要求是Boolean类型的true或false时,就需要单独进行转换再传值(ps:最好让改成字符串String类型):1,正则匹配法:/^true$/.test('true') 输出结果:true/^true$/.test('false') 输出结果:false2,evallet a="true";a = eval(a.toLowerCase());console.log(a);------- truelet a="fa..原创 2022-03-02 21:54:44 · 3932 阅读 · 0 评论 -
js的防抖和节流,不同场景的应用
真正搞懂js的防抖和节流函数的应用场景原创 2021-12-27 23:07:42 · 85 阅读 · 0 评论 -
js中this的用法及判断上下文
如何用好js的this原创 2021-12-27 15:46:29 · 265 阅读 · 0 评论 -
js 日期格式转换
1,将"20180604231436"转换为2018-06-04 23:14:36,支持8位、10位、12位、14位的转换:let occurTime = "20180604231436"; //原字符串 console.log(dateFormat(occurTime)); //调用方式 function dateFormat(date){ let newOccurTime; if(date.length==14){ ne...原创 2020-11-25 09:21:17 · 853 阅读 · 0 评论 -
echarts柱状图的背景色设置
echarts柱状图的背景色设置方法,官方推荐的例子中是又添加一组最大值来当背景(不建议),设置backgroundStyle即可:series:{name:'违法违规国家排行',type:'bar',barWidth:'15',showBackground:true,back...原创 2020-09-17 16:24:58 · 28632 阅读 · 7 评论 -
echarts type: ‘pictorialBar‘的双圆形柱状图第一个数据为0时多出来一条线
3.0中支持barMinHeight:1的设置,立体柱状图能显示一个底圈,这样线圈就不会出现。原创 2021-12-27 16:13:44 · 1067 阅读 · 1 评论 -
echarts tooltip样式设置
tooltip:{trigger:"axis",axisPointer:{type:"shadow",//背景色shadowStyle:{color:"rgba(0,246,255,0.1)"//背景色设置...原创 2020-09-03 10:17:11 · 4667 阅读 · 0 评论 -
vue3 添加postcss-pxtorem,浏览器窗口放大缩小内容也放大缩小
vue.config.js中配置如下,单独的rem.js配置完后在main.js中import即可。原创 2020-08-21 15:28:57 · 1271 阅读 · 0 评论 -
vue中实现打印功能
1,引入print.js ,放入项目路径中;2,在页面中引入js文件后在打印方法里面调用方式如下:引入:import printJS from "@/assets/js/print.js";调用:```// printable是打印目标的div的id名称,print.min.css是自己创建css,调整打印文件样式printJS({ printable: 'printTarget'...原创 2020-04-16 16:19:48 · 2190 阅读 · 0 评论 -
blob excel文件导出
vue 项目中excel文件导出:exportData(){//点击方法名称jjrExport(this.years).then(res=>{//this.years为请求参数console.log(res);consttype="application/vnd.ms-exce...原创 2020-04-15 11:56:59 · 2873 阅读 · 0 评论 -
js前端面试题03
1,内存泄露的排除定位和解决方法答:内存泄漏就是有资源未被内存池回收,释放出来占用内存,表现为程序卡死或者浏览器卡死状态;通过谷歌浏览器的performance来监测;内存泄漏的几个方式:全局变量的声明,未带var关键字的,可在js文件中用use strict;定时器的应用,未有结束定时器的操作,导致一直执行定时器任务;闭包中无用的方法执行,不能被回收,就一直占用内存。2,websoc...原创 2020-02-27 22:05:37 · 154 阅读 · 0 评论 -
js面试题-02
1,webpack工程构建工具怎么样用答:webpack是一款模块打包器,可以将项目中的js,css,less,sass,图片等打包压缩成对应的文件。通过定义一个入口文件,webpack会自动查找相关依赖的文件,使用loaders处理它们,最终生成浏览器能识别的js文件。npm或cnpm安装webpack后,再配置webpack.config.js,入口文件、出口文件、loaders加载器...原创 2020-02-26 15:36:31 · 169 阅读 · 0 评论 -
js 数组的操作大全
前言在开发中,数组的使用场景非常多,平日中也涉及到很多数组的api/相关操作,一直也没有对这块内容进行一块整理总结,很多时候就算用过几次这个api,在开发中也很容易忘记,还是要谷歌一下。所以就希望对这块内容有一个比较系统性的总结,在这背景下,就有了本篇文章,如果喜欢的话可以点波赞/关注,支持一下,希望大家看完本文可以有所收获。创建一个数组:? 1 2 3...转载 2019-08-29 23:54:16 · 150 阅读 · 0 评论 -
js核心内容
JS基础1.数据类型?6基本数据类型: Undefined, Null, Boolean, Number, String ,Symbol引用类型:Array Object Date Function区别:基本类型值保存在栈空间,我们通过按值来访问的。引用类型,的值是对象,栈内存中存放地址指向堆内存中的对象。是按引用访问的。栈内存中存放的只是该对象的访问地址,在堆内存中为这个值分配...转载 2019-08-25 23:16:18 · 405 阅读 · 0 评论 -
javascript 设计模式-模块模式
我们通过单体模式理解了是以对象字面量的方式来创建单体模式的;比如如下的对象字面量的方式代码如下:var singleMode = { name: value, method: function(){ }};模块模式的思路是为单体模式添加私有变量和私有方法能够减少全局变量的使用;如下就是一个模块模式的代码结构:转载 2017-02-15 11:18:37 · 207 阅读 · 0 评论 -
javascript 设计模式-代理模式
代理是一个对象,它可以用来控制对本体对象的访问,它与本体对象实现了同样的接口,代理对象会把所有的调用方法传递给本体对象的;代理模式最基本的形式是对访问进行控制,而本体对象则负责执行所分派的那个对象的函数或者类,简单的来讲本地对象注重的去执行页面上的代码,代理则控制本地对象何时被实例化,何时被使用;我们在上面的单体模式中使用过一些代理模式,就是使用代理模式实现单体模式的实例化,其他的事情就交给本体对转载 2017-02-15 11:19:33 · 204 阅读 · 0 评论 -
javascript 设计模式-职责链模式
优点是:消除请求的发送者与接收者之间的耦合。 职责连是由多个不同的对象组成的,发送者是发送请求的对象,而接收者则是链中那些接收这种请求并且对其进行处理或传递的对象。请求本身有时候也可以是一个对象,它封装了和操作有关的所有数据,基本实现流程如下:1. 发送者知道链中的第一个接收者,它向这个接收者发送该请求。2. 每一个接收者都对请求进行分析,然后要么处理它,要么它往下传转载 2017-02-15 11:20:16 · 193 阅读 · 0 评论 -
javascript 设计模式-命令模式
命令模式中的命令指的是一个执行某些特定事情的指令。 命令模式使用的场景有:有时候需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道请求的操作是什么,此时希望用一种松耦合的方式来设计程序代码;使得请求发送者和请求接受者消除彼此代码中的耦合关系。我们先来列举生活中的一个列子来说明下命令模式:比如我们经常会在天猫上购买东西,然后下订单,下单后我就想收到货,并且希望货物是真转载 2017-02-15 11:21:01 · 189 阅读 · 0 评论 -
javascript 设计模式-模板方法模式
模板方法模式由二部分组成,第一部分是抽象父类,第二部分是具体实现的子类,一般的情况下是抽象父类封装了子类的算法框架,包括实现一些公共方法及封装子类中所有方法的执行顺序,子类可以继承这个父类,并且可以在子类中重写父类的方法,从而实现自己的业务逻辑。比如说我们要实现一个JS功能,比如表单验证等js,那么如果我们没有使用上一章讲的使用javascript中的策略模式来解决表单验证封装代码,而是自转载 2017-02-15 11:21:59 · 231 阅读 · 0 评论 -
javascript 设计模式-策略模式
1. 理解javascript中的策略模式策略模式的定义是:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。使用策略模式的优点如下:优点:1. 策略模式利用组合,委托等技术和思想,有效的避免很多if条件语句。 2. 策略模式提供了开放-封闭原则,使代码更容易理解和扩展。 3. 策略模式中的代码可以复用。一:使用策略转载 2017-02-15 11:23:01 · 196 阅读 · 0 评论 -
javascript 设计模式-中介者模式
先来理解这么一个问题,假如我们前端开发接的需求是需求方给我们需求,可能一个前端开发会和多个需求方打交道,所以会保持多个需求方的联系,那么在程序里面就意味着保持多个对象的引用,当程序的规模越大,对象会越来越多,他们之间的关系会越来越复杂,那现在假如现在有一个中介者(假如就是我们的主管)来对接多个需求方的需求,那么需求方只需要把所有的需求给我们主管就可以,主管会依次看我们的工作量来给我们分配任务,这样转载 2017-02-15 11:24:15 · 291 阅读 · 0 评论 -
腾讯地图可搜索定点位置
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>测试功能页面</title> </head> <body> <iframe id="mapPage" width="100%" height="300" frameborder=0 src="http:原创 2017-01-16 13:35:12 · 3983 阅读 · 1 评论 -
js数组去重
Array.prototype.removal=function(){ var list={}; var arrL=[]; for(let i=0;i<this.length;i++){ if(!list[this[i]]){ list[this[i]]=true; arrL.push(this[i]); } } return arrL; }原创 2017-08-16 09:51:39 · 266 阅读 · 0 评论 -
js new关键字详解
和其他高级语言一样javascript中也有new关键字,我们以前认知的new是用来创建一个类的实例对象,但在js中万物皆是对象,为何还要new关键字呢,其实js中new关键字不是用来创建一个类的实例对象,而是用于继承。 接下来,本文将带你一起来探索JS中new的奥秘...123456789转载 2017-11-21 13:31:45 · 3289 阅读 · 0 评论 -
js 修改中国标准日期
'Thu May 12 2016 08:00:00 GMT+0800 (中国标准时间)'--此格式日期无法传到java后台,须格式化,方法如下var d = new Date('Thu May 12 2016 08:00:00 GMT+0800 (中国标准时间)'); var youWant=d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d...原创 2018-04-02 22:47:14 · 672 阅读 · 0 评论 -
获取当前url并操作
window.location 对象所包含的属性属性描述hash从井号 (#) 开始的 URL(锚)host主机名和当前 URL 的端口号hostname当前 URL 的主机名href完整的 URLpathname当前 URL 的路径部分port当前 URL 的端口号protocol当前 URL 的协议search从问号 (?) 开始的 URL(查询部分)...原创 2018-06-22 09:35:22 · 237 阅读 · 0 评论 -
es6新特性来袭
1.变量声明const和let在ES6之前,我们都是用var关键字声明变量。无论声明在何处,都会被视为声明在函数的最顶部(不在函数内即在全局作用域的最顶部)。这就是函数变量提升例如: function aa() { if(bool) { var test = 'hello man' } else { console.log(test) }...转载 2018-06-22 13:47:53 · 130 阅读 · 0 评论 -
js数组操作方法
shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined Javascript代码 var a = [1,2,3,4,5]; var b = a.shift(); //a:[2,3,4,5] b:1 unshift:将参数添加到原数组开头,并返回数组的长度 Javascript代码 var a = [1,2,3,4,5]; var b = a.unshi...转载 2018-06-25 13:19:09 · 135 阅读 · 0 评论 -
队列和栈
队列就像是水管,一头堵住了,先进来的只有等之前的都出去了才能出去,“先进后出”;栈的话就刚好相反,是个直通的水管,先进就先出去;原创 2018-09-28 22:15:03 · 125 阅读 · 1 评论 -
JSON.parse()与JSON.stringify()的区别
JSON.parse() 是将一个字符串转换成对象;JSON.stringify() 是将一个对象转换成字符串;原创 2018-09-28 22:26:16 · 136 阅读 · 0 评论 -
javascript 设计模式-单体模式
单体模式提供了一种将代码组织为一个逻辑单元的手段,这个逻辑单元中的代码可以通过单一变量进行访问。单体模式的优点是:可以用来划分命名空间,减少全局变量的数量。使用单体模式可以使代码组织的更为一致,使代码容易阅读和维护。可以被实例化,且实例化一次。什么是单体模式?单体模式是一个用来划分命名空间并将一批属性和方法组织在一起的对象,如果它可以被实例化,那么它只能被实例化一次。转载 2017-02-15 11:16:41 · 303 阅读 · 0 评论