
js
Winson℡
The important thing in life is to have a great aim,and
determination to attain it.
展开
-
锚点定位回到顶部-JS函数封装
【代码】锚点定位回到顶部-JS函数封装。原创 2024-04-28 19:46:17 · 329 阅读 · 0 评论 -
uniapp开发,app手机状态栏问题挡住问题、小程序关闭过滤无依赖文件
uniapp入坑 问题解决方法原创 2022-10-14 13:46:44 · 4054 阅读 · 0 评论 -
javaScript原生事件总结笔记--按对象属性对数组进行分组
【代码】javaScript原生事件总结笔记--按对象属性对数组进行分组。原创 2022-09-27 16:51:20 · 472 阅读 · 0 评论 -
移动端判断函数(环境判断、兼容关闭浏览器)
_isMobile() { let flag = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i) return flag; }, i..原创 2022-09-22 14:15:06 · 416 阅读 · 0 评论 -
性能优化之函数节流/防抖
优化性能技巧:问题场景:当前实现一个搜索功能,需要输入文本就会触发函数调用搜索接口,亦或是用户可能双击搜索按钮等场景,当你未输入完关键字时,或者用户多次重复点击,就会浪费性能一次又一次的去请求接口.解决的问题:防止某时间段内发送多次重复请求解决方案:函数节流(也可使用函数防抖)封装一个util.js工具类函数,如下/** * 函数节流 * @param {*} fn 事件函数 * @param {*} delay 设置一段时间内只触发一次 */function throttle(f原创 2021-08-02 11:57:57 · 229 阅读 · 0 评论 -
Echarts pc端、移动端自适应方案-resize使用及注意点
1.ECHARTS动态设置宽高RESIZE()今天在项目中遇到了Echarts宽高自适应问题,几经波折终于把问题解决了,下面直接上代码:// 基于准备好的dom,初始化echarts实例 var myChart = echarts.init(document.getElementById("main")); // 使用刚指定的配置项和数据显示图表。 myChart.setOption(option); // window.onresize = function () {原创 2021-07-19 17:55:38 · 3260 阅读 · 2 评论 -
TypeError: data.map is not a function
下面的代码报错TypeError: data.map is not a functionlet nameList = data.map(item => item.name);原因1:data不是数组解决方法:将data转换为数组let data = Array.from(data);...原创 2021-07-16 15:58:34 · 11185 阅读 · 0 评论 -
客户端本地测试集成打包
1.npm run lib 是插件打包,npm run build是文件打包,所以打包走的是npm run lib,打包完成之后通过(npm publish)命令发布到vnpm上,前提是指定的发包路径是–registry=http://registry.vnpm.vipkid.com.cn本地测试打包:npm run lib然后npm pack,这就会在本地生成一个包,然后拷在项目中npm i 包名,就会本地安装项目中2.publish包的话你们没权限,就先给你说这个流程本地测试打包:npm run原创 2021-07-16 15:57:29 · 558 阅读 · 0 评论 -
vue 灵活正则截取赋值
var obtain = this.templateContent let arr = obtain.match(/{(.*?)}/g) if (this.isEdit) { let strArr = this.dynamicParam.split(',') if (arr == null) { this.plaLists = []原创 2020-07-21 19:45:36 · 507 阅读 · 0 评论 -
rules规则(包含回调函数规则)配置
这里总结了几个常用的规则,方便下次使用必填,必选,邮箱,手机号,时间,数字,数组,字符长度,以邮箱为例子与手机号为例//这是一个邮箱的验证规则rules: { email: [{ required: true,//是否必填 message: '请输入邮箱地址',//错误提示信息 trigger: 'blur'//检验方式(blur为鼠标点击其他地方,) }, { t原创 2020-07-14 11:58:09 · 2520 阅读 · 0 评论 -
js 享元模式
享元模式享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。享元模式尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象。代码:$.extend({a: 1}, {b: 2}) // {a: 1, b: 2}$.extend = function(){ //代码的复用和简洁角度 //享元模式-》提取一个享元 if(arguments原创 2021-07-16 15:27:05 · 212 阅读 · 0 评论 -
jquery extend()方法
定义和用法jQuery.extend() 函数用于将一个或多个对象的内容合并到目标对象。注意:如果只为$.extend()指定了一个参数,则意味着参数target被省略。此时,target就是jQuery对象本身。通过这种方式,我们可以为全局对象jQuery添加新的函数。如果多个对象具有相同的属性,则后者会覆盖前者的属性值。语法:$.extend( target [, object1 ] [, objectN ] )$.extend( {a:1},{b:2} ) // {a:1,b:2}原创 2021-07-16 14:45:59 · 239 阅读 · 0 评论 -
JS-字符串截取方法slice、substring、substr的区别
一、使用 slice() 截取1,函数说明slice() 方法可通过指定的开始和结束位置,提取字符串的某个部分,并以新的字符串返回被提取的部分。语法如下:stringObject.slice(start, end)参数说明:start(必需):规定从何处开始选取。如果是负数,那么它规定从字符串尾部开始算起的位置。也就是说,-1 指最后一个字符,-2 指倒数第二个字符,以此类推。end(可选):规定从何处结束选取,即结束处的字符下标。如果没有指定该参数,那么截取的字符串包含从 start 到结束转载 2021-07-02 11:17:27 · 299 阅读 · 0 评论 -
js截取字符串方法
let str = 'abcdef';// 0str = str.slice(0);//返回整个字符串 abcdefstr = str.substring(0);//返回整个字符串 abcdefstr = str.substr(0);//返回整个字符串 abcdef// 使用一个参数str = str.slice(2);//截取第二个之后所有的字符 cdefstr = str.substring(2);//截取第二个之后所有的字符 cdefstr = str.substr(2);//截取第二转载 2021-07-02 11:07:10 · 622 阅读 · 0 评论 -
在HTML中识别 字符串 里的 “\ n” 并成功换行显示
在结果所在的 div 的 css 设置:(注:只在当前string字符串内有效)white-space: pre-line;如:但是此方案没法像下边这样换行:要实现如下图所示效果:在结果所在的 div 的 css 设置display属性中带有换行效果的属性值:...原创 2021-07-02 10:25:05 · 2225 阅读 · 0 评论 -
vue+ elment UI全局配置加载中状态
项目中多处会使用到一些共用的状态样式,这里简单写一个全局暴露的loading。首先在项目共用文件夹common下定义一个loading.js文件:// loading.jsimport { Loading } from 'element-ui';let loadingCount = 0;let loading;const startLoading = () => { loading = Loading.service({ lock: false, text: '加载原创 2021-06-30 10:23:06 · 700 阅读 · 0 评论 -
解决后加载页面赋值不渲染问题
1.问题原因:当前页面刷新,会关闭主页面,之后当前页面跳转到主页面并且赋值给主页面进行渲染,因为跳转过程中,赋值与页面加载同时进行,页面回流和重绘较多,可能造成资源阻塞,没有及时渲染或未渲染页面。2.解决办法之一:放入延时函数中赋值//兄弟组件import { event } from "./common/util"; setTimeout(() => { event.$emit('getCheckBoxFlag', true); //详情页刷新时查询页面会关闭,放入延迟加原创 2021-05-07 11:33:25 · 890 阅读 · 0 评论 -
打包代码上传之脚本未编译(部署后页面(以及代码)未更新)
愉快的一天一般从遇到问题时结束。问题描述:在更新本地代码提交后-git push,需要部署到测试环境测试,在代码部署完后发现了新的问题----修改后的页面未更新,于是我打开代码仓库,发现代码已经提交,并且已有提交记录,在重新部署代码无果后,果断摇人 找人。人说:“你脚本里定义的编译过程有问题”。我的原脚本配置文件://重点关注这agile.js:#################### 线上环境编译###################build: # 配置node服务环境 env:原创 2021-03-23 11:46:23 · 402 阅读 · 0 评论 -
JavaScript中的for,forEach,for...in..,for...of...
JavaScript诞生已经有20多年了,我们一直使用的用来循环一个数组的方法是这样的:for (var index = 0; index < myArray.length; index++) { console.log(myArray[index]);}自从JavaScript5起,我们开始可以使用内置的forEach方法:myArray.forEach(function (value) { console.log(value);});写法简单了许多,但也有短处:你不能中断循转载 2021-03-17 15:23:54 · 185 阅读 · 0 评论 -
正则表达式-删除搜索条件的首尾的空格
/** 去掉开头和结尾的space, tab, form feed, and line feed (same as [\f\n\r\t\v]).*/function Trim(str){ return str.replace(/(^\s*)|(\s*$)/g, "");}原创 2020-10-13 15:41:28 · 178 阅读 · 0 评论 -
js正则表达式获取字符串中多个大括号{}中的内容,包括大括号并放入数组中
var str = '订单号bai:{0},交易商品:du{1},初步估zhi价:{2}元';var array = []; array = str.match(/{(.*?)}/g)alert(array);//得到的结果是:{0},{1},{2}原创 2020-07-17 17:36:37 · 5957 阅读 · 0 评论 -
JS正则表达式输入框验证(http、手机号、字母、数字、邮箱、身份证、省份、生日、特殊字符等)
通过JavaScript中正则表达式的 应用实现(http、电话号码、邮箱、数字、字母及其数字、时间日期、身份证)等的验证。下面看例子demo的实现过程:js中字符串处理};checkCard = function(obj) {//校验长度,类型if(isCardNo(obj) === false){return false;}//检查省份if(checkProvinc...原创 2019-12-20 14:34:44 · 1136 阅读 · 0 评论 -
在javascript中获取文件后缀名的三种方法
在javascript中获取文件后缀名我们常用fileName.substring或fileName.split或str.lastIndexOf三种方法,下面分别介绍一下:@在这里插入代码片TOC欢迎使用Markdown编辑器var fileName = “http://www.111cn.net/sys/nginx/62888.htm”;方法1var fileExtension = f...原创 2019-11-15 10:08:16 · 2348 阅读 · 0 评论