js
文章平均质量分 55
一行注释
这个作者很懒,什么都没留下…
展开
-
Javascript中<%=%>是做什么的
Javascript中是做什么的原创 2022-08-25 16:30:00 · 6450 阅读 · 0 评论 -
ExcelJS 导入导出excel带下拉框筛选数据
使用插件导出文件及导入excel读取信息原创 2022-08-18 09:31:00 · 2085 阅读 · 0 评论 -
常用数据获取存储 随机数 正反向遍历 一位数据 树结构
常用数据获取存储 随机数 正反向遍历 一位数据 树结构原创 2022-06-22 13:58:53 · 193 阅读 · 0 评论 -
js中?.与? ?的使用
语法:obj?.prop obj?.[expr] arr?.[index] func?.(args)可选链操作符(?.) 可选链操作符(?.)允许读取位于连接对象链深处的属性的值,而不必明确验证链中的每个引用是否有效。?.操作符的功能类似于.链式操作符,不同之处在于,在引用为空(nullish)(null或者undefined) 的情况下不会引起错误,该表达式短路返回res?.data?.obj?.name ?? '小明' 看看这个输出是什么...原创 2022-05-13 15:02:49 · 226 阅读 · 0 评论 -
js replace 全局替换的操作方法
这篇文章主要介绍了js replace 全局替换的操作方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下js 的replace 默认替换只替换第一个匹配的字符,如果字符串有超过两个以上的对应字符就无法进行替换,这时候就要进行一点操作,进行全部替换。 1 2 3 4 5 <script language="javascript"> var strM = "这是要被替换的字符串啊啊!";.转载 2022-05-10 14:58:54 · 13145 阅读 · 0 评论 -
Array vs Set性能对比
Array.push 添加数据略胜一筹let arr=[];let set=new Set();let start=Date.now()for (let index = 0; index < 1000000; index++) { arr.push(index)}console.log((Date.now()-start));//25let arr=[];let set=new Set();let start=Date.now()for (let index = 0;原创 2022-04-15 14:57:17 · 1520 阅读 · 0 评论 -
字体编辑用中日韩汉字Unicode编码表
一 丁 丂 七 丄 丅 丆 万 丈 三 上 下 丌 不 与 丏 4E00 4E01 4E02 4E03 4E04 4E05 4E06 4E07 4E08 4E09 4E0A 4E0B 4E0C 4E0D 4E0E 4E0F 丐 丑 丒 专 且 丕 世 丗 丘 丙 业 丛 东 丝 丞 丟 4E10 4E11 4E12 4E13 4E14 4E15 4E16 4E17 4E18 4E19 4E1A 4E1B 4E1C 4E1D 4E1E 4E1F 丠 両 丢 丣 两 严 並 丧 丨 丩 个 丫 ...原创 2022-03-31 17:57:52 · 61745 阅读 · 0 评论 -
el-table之合并表格自定义span-method
<el-table ref="tableList" :data="tableData" :span-method="arraySpanMethod" ></el-table>自定义span-method方法达到合并表格目的getSpanArr方法 重置tableData数据格式arraySpanMethod 合并方法cellClassName 定义单元格类名tempList 储存添加过的字段getSpanArr() { let newTa...原创 2021-11-03 17:43:52 · 2157 阅读 · 0 评论 -
展示百分比*100后数据精度问题
for example要显示29% 返回值0.290.29*100=>28.999999999999996此时百分比展示有问题 28.999999999999996%为了解决精度问题引用toPrecision()方法此方法接收一个参数toPrecision(num) 方法可在对象的值超出指定位数时将其转换为指数计数法。参数 描述 num 必需。规定必须被转换为指数计数法的最小位数。该参数是 1 ~ 21 之间(且包括 1 和 21)的值。有效实现允许有选择.原创 2021-10-26 11:49:35 · 572 阅读 · 0 评论 -
vue监听某一标签状态变化
data(){ return{observer: null, firedNum: 0,//触发次数recordOldValue: { // 记录下旧的宽高数据,避免重复触发回调函数 width: '0', height: '0'}}}mounted(){ let_this=thisletMutationOb...原创 2021-09-27 11:13:15 · 833 阅读 · 0 评论 -
toFixed()方法 四舍五入精度问题修改
(13.235).toFixed(2) // "13.23"(13.265).toFixed(2) // "13.27"function toFixed (d, n) { var s = n + ""; if (!d) d = 0; if (s.indexOf(".") == -1) s += "."; s += new Array(d + 1).join("0"); if (new RegExp("^...转载 2021-08-17 17:10:45 · 387 阅读 · 0 评论 -
你是怎么理解ES6中Proxy的?使用场景?
一、介绍定义: 用于定义基本操作的自定义行为本质: 修改的是程序默认形为,就形同于在编程语言层面上做修改,属于元编程(meta programming)元编程(Metaprogramming,又译超编程,是指某类计算机程序的编写,这类计算机程序编写或者操纵其它程序(或者自身)作为它们的数据,或者在运行时完成部分本应在编译时完成的工作一段代码来理解#!/bin/bash#metaprogramecho'#!/bin/bash'>programfor((I=1;I&l...转载 2021-05-06 15:42:39 · 294 阅读 · 0 评论 -
vue中axios请求返回return
1.首先默认情况请求函数不能return信息到外部错误示范findCurrentAccountInfo() { let _this = this; let param = {}; await _this.$store.dispatch("FINDCURRENTACCOUNTINFO", { param }).then(res => { if (res.meta.success) {原创 2021-04-27 17:13:30 · 9091 阅读 · 5 评论 -
优化js中加减乘除四则运算浮点数精度不准问题
//除法函数,用来得到精确的除法结果//说明:javascript的除法结果会有误差,在两个浮点数相除的时候会比较明显。这个函数返回较为精确的除法结果。//调用:division(arg1,arg2)//返回值:arg1除以arg2的精确结果exportfunctiondivision(arg1,arg2){vart1=0,t2=0,r1,r2;try{t1=arg1.toString().split(...原创 2021-04-21 16:35:44 · 359 阅读 · 0 评论 -
render 函数讲解
render 函数讲解render 函数即渲染函数,它是个函数,它的参数也是个函数——即createElement,我们重点来说createElement 参数。 render 函数的返回值(VNode) VNode(即:虚拟节点),也就是我们要渲染的节点。 render 函数的参数(createElement) createElement是render 函数的参数,它本身也是个函数,并且有三个参数。 createElement 函数的返回值(VNode)...原创 2021-03-10 15:21:44 · 15252 阅读 · 0 评论 -
iview render 函数中 button应用属性
render函数拥有三个参数1.一个 HTML 标签字符串 必选2. 一个包含模板相关属性的数据对象 可选3. 子虚拟节点 (VNodes) 可选render: (h, params) => { let _this = this return h('div',[ h('i-button',{ props: { type...原创 2020-11-24 14:10:58 · 1528 阅读 · 1 评论 -
axios发送请求几种方式
import 'axios'// get传参数axios.get('/user?id=123') .then(response=> { console.log(response) }) .catch(error=> { console.log(error) });// get传参数axios.get('/getuser', { params: { ID: 123 }}) .then(response=> { ...原创 2020-11-23 09:20:50 · 12447 阅读 · 0 评论 -
三种常见的http content-type详解
介绍 http协议是建立在tcp/ip协议之上的应用层协议,主要包括三个部分,状态行,头部信息,消息主体。对应一个http请求就是:请求行,请求头,请求体。 协议规定post提交的数据,必须包含在消息主体中entity-body中,但是协议并没有规定数据使用什么编码方式。开发者可以自己决定消息主体的格式。 数据发送出去后,需要接收的服务端解析成功,一般服务端会根据content-type字段来获取参数是怎么编码的,然后对应去解码。 在最...转载 2020-11-23 09:16:39 · 1100 阅读 · 0 评论 -
面试如何写出一个满意的深拷贝
前言已经有很多关于深拷贝与浅拷贝的文章,为什么自己还要写一遍呢????❝学习就好比是座大山,人们沿着不同的路登山,分享着自己看到的风景。你不一定能看到别人看到的风景,体会到别人的心情。只有自己去登山,才能看到不一样的风景,体会才更加深刻。❞分享一个不错的思维导图????深拷贝通过文本的总结,希望可以明白: 什么是深拷贝/浅拷贝,他们与赋值有什么区别 深拷贝/浅拷贝实现方式有哪些 本章节直接从拷贝开始说起,对于基本数据类型,引用数据类型之前的区别,可以看看上面的转载 2020-07-13 10:21:55 · 205 阅读 · 0 评论 -
js 深拷贝浅拷贝,以及堆栈存关系
先引用一篇文章JavaScript中的堆栈,作者写得很好。如果看完上面推荐的文章还没有理解堆栈存与深拷贝浅拷贝的关系,请看?。引用类型(对象“Object”,数组“Array”,函数“Function”)引用类型不会在栈内存中保存值,只会在栈内存保存一个指向堆内存的地址。当引用栈内容的地址的时候,会通过地址查询堆内存的值。因此就有了浅拷贝深拷贝的区别。浅拷贝 -> 只是拷贝了栈内存的地址。深拷贝 -> 生成一个新的堆栈存,拷贝的同时生成一个新的堆内存。很多人只知道 深拷贝转载 2020-07-10 14:19:14 · 265 阅读 · 0 评论 -
vue.js 输入框输入值自动过滤特殊字符替换中问标点
<Input v-model="relatedWords" type="textarea" placeholder="请输入" @input='verifyInput(formItem.relatedWords)'/>verifyInput(v){ let _this=this; let punctuation = /[`~!@#$%^&*_\-=<>?:"{}|.\/;'\\[\]·~!@#¥%……&——\-={}|《》?:“”【】、;‘’。、].原创 2020-06-22 14:53:40 · 2277 阅读 · 5 评论 -
postMessage的使用
window.postMessage()方法可以安全地实现跨源通信。通常,对于两个不同页面的脚本,只有当执行它们的页面位于具有相同的协议(通常为https),端口号(443为https的默认值),以及主机 (两个页面的模数Document.domain设置为相同的值) 时,这两个脚本才能相互通信。window.postMessage()方法提供了一种受控机制来规避此限制,只要正确的使用,这种方法就很安全。从广义上讲,一个窗口可以获得对另一个窗口的引用(比如targetWindow = wind...原创 2020-05-26 13:50:23 · 2039 阅读 · 0 评论 -
js基础面试题 看似简单也易出错
1.alert(a)a()var a=3function a(){alert(10)}alert(a)a=6a()===》function a(){alert(10)} //变量提升a方法10 第二步执行a 输出103 a重新赋值 3a is not a function 赋值a=6 不是一个function2.var lili={age:18}; ...原创 2020-04-30 15:11:35 · 408 阅读 · 0 评论 -
对象数组深度拷贝deepCopy
function deepCopy (obj, cache) { if (cache === void 0) cache = [] if (obj === null || typeof obj !== 'object') return obj var hit = find(cache, function (c) { debugger return ...原创 2020-04-21 14:42:55 · 465 阅读 · 0 评论 -
获取浏览器视口的大小
/*视口的大小,部分移动设备浏览器对innerWidth的兼容性不好,需要 *document.documentElement.clientWidth或者document.body.clientWidth *来兼容(混杂模式下对document.documentElement.clientWidth不支持)。 *使用方法 : getViewPort().width; */functio...原创 2020-04-17 15:05:39 · 645 阅读 · 0 评论 -
base64文件转MultipartFile文件 上传图片转base64
在一些项目中,上传图片或者文件过大,这个时候我们就要选择压缩文件,压缩到我们指定的范围内在上传到服务器,当然压缩也是可以放到服务器进行操作的,但是考虑到前端传输时间问题,所以我们一般都是放到前端压缩后在上传。下面举个实例:曾经遇见这么一个需求,前端页面需要调用相机拍照,把拍照的图片上传到服务,但是在这个过程中遇见的问题是,ios手机拍照的图片是比较大一般单张图片大小在10M左右,而Andr...转载 2020-04-14 16:50:50 · 3568 阅读 · 0 评论 -
js二维数组列排相加 reduce函数
先介绍数组包对象格式 对应key相加var obj = [ { a: 1, b: 2, c: 3 }, { a: 4, b: 5, c: 6 }, { a: 7, b: 8, c: 9 }, { a: 2, b: 3, c: 10 } ]; let result = obj.reduce(function(total,value,index,arr){...原创 2020-04-10 13:12:43 · 2791 阅读 · 0 评论 -
常用排序算法之JavaScript实现
1、插入排序1)算法简介插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。2)算法描述和实现...转载 2020-04-08 09:09:08 · 130 阅读 · 0 评论 -
this指向构造函数原型链改变指向关系变动
输出下面几个方法得到结果function Foo() { Foo.a=function(){ console.log(1) } this.a=function(){ console.log(2) }}Foo.prototype.a=function(){ console.log(3)}Foo.a=func...原创 2020-01-15 11:46:11 · 204 阅读 · 0 评论 -
两种方式实现字符串出现最多的值和次数
var str='asdfskdfiewhfsnmdpsfodsfl;admsfnsdakf' var arr=str.split('') var obj={} for (let index = 0; index < arr.length; index++) { const element = arr[index]; if(obj[eleme...原创 2020-01-14 10:55:36 · 145 阅读 · 0 评论 -
ES6、ES7、ES8、ES9、ES10新特性一览
目录1.ES6新特性(2015)1.1模块化(Module)1.1.1导出(export)1.1.2导入(import)1.2箭头(Arrow)函数1.2.1箭头函数的结构1.3默认参数1.4模板字符串1.5.结构赋值1.5.1数组的结构赋值1.6延展操作符(Spread operator)1.7Promise2 ES7新特性(2016)2....转载 2020-01-03 14:05:03 · 369 阅读 · 0 评论 -
获取一个月有多少个周
function allWeeks(now_month) { let week_array = []; let today = new Date(Date.parse(now_month)); let year = today.getFullYear(); let month = today.getMonth(); let i = 0; let start = new Date...原创 2019-12-31 11:30:35 · 441 阅读 · 0 评论 -
处理页面多个接口自上而下请求顺序
if(_this.centerName.length>2){//多于两个时 new Promise((resolve, reject) => { if(_this.centerName[0]=='专题'){ _this.specialFun() }else{ _this[_this.centerFun[_this.centerName.inde...原创 2019-12-27 15:33:09 · 1004 阅读 · 0 评论 -
render函数 for循环返回多个div
render:(h, params) => { let _this = this return h('div',{class:'analysisState clearfix'},[ params.row.spreadCores.map(function (item,index) { return h('div',{ cla...原创 2019-12-18 17:16:54 · 2200 阅读 · 0 评论 -
['1', '7', '11'].map(parseInt) 返回 [1, NaN, 3] map传参与parseInt传参
Javascript 一直是神奇的语言。不相信我?尝试使用map和parseInt将字符串数组转换为整数。打开 Chrome 的控制台(F12),粘贴以下内容,然后按回车,查看输出结果:['1', '7', '11'].map(parseInt);我们得到的不是一个整数数组[1,7,11],而是[1,NAN, 3],要了解究竟发生了什么,我们首先要讨论一些Javascript概念。...转载 2019-12-18 14:55:22 · 287 阅读 · 0 评论 -
html标签中有多少img标签
imgCurLen(){ letcontent=this.userInfo.curContent return(content&&content.match(/<img[^>]+>/g)&&content.match(/<img[^>]+>/g).length)||0}...原创 2019-12-17 16:45:17 · 421 阅读 · 0 评论 -
JS数组reduce()方法详解及高级技巧
基本概念reduce()方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始缩减,最终为一个值。reduce 为数组中的每一个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素,接受四个参数:初始值(或者上一次回调函数的返回值),当前元素值,当前索引,调用 reduce 的数组。语法:arr.reduce(callback,[initia...转载 2019-12-16 13:46:27 · 426 阅读 · 0 评论 -
js符号运算vs方法 大多数教程中找不到的JavaScript技巧
转换为字符串要快速地将数字转换为字符串,我们可以使用连接运算符+后跟一组空引号""。const val = 1 + ""; console.log(val); // Result: "1" console.log(typeof val); // Result: "string"转换为数字使用加法运算符+可以快速实现相反的效果。let int = "15"; int = +i...转载 2019-11-28 10:12:21 · 222 阅读 · 0 评论 -
vue中实现百度分享配置信息
页面dom部分类名bdsharebuttonbox 固定参数勿动<dropdown-menuslot="list"class="bdsharebuttonbox"> <liclass="ivu-dropdown-item":name="1"><ahref="#"class="bds_sqq"data-cmd="sqq">QQ</...原创 2019-11-25 15:39:50 · 471 阅读 · 0 评论 -
JS中this的4种绑定规则
thisES6中的箭头函数采用的是词法作用域。 为什么要使用this:使API设计得更简洁且易于复用。 this即不指向自身,也不指向函数的词法作用域。 this的指向只取决于函数的调用方式this绑定规则new > 显示绑定 > 隐式绑定 > 默认绑定默认绑定当独立函数调用时,不管是否在调用栈中,this都指向全局对象(浏览器中为window) 严格模式...转载 2019-11-18 11:10:03 · 140 阅读 · 0 评论