自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 面试题---手写系列

手写防抖debounce在事件被触发一定时间后再执行,如果在这段时间内再次触发,重新计时。如果一直触发,一直都不执行。function debounce(fn,delay){ let timer return function(){ let context = this let args = arguments //如果已存在计时器 清空 重新计时 timer && clearTimeout(timer)

2021-04-09 16:36:39 189 1

原创 webpack学习三

1、Webpack 的构建流程主要有哪些环节?如果可以请尽可能详尽的描述 Webpack 打包的整个过程。第一步:初始化参数:获取配置文件和命令行中的参数进行融合。第二步:编译阶段:将初始化后的参数传入创建好的compiler对象,给compiler挂载配置文件中的plugin。通过nodeEnvironmentPlugin使compiler具有文件读写能力。给compiler挂载默认插件,执行compiler的run方法。并找到编译入口文件。根据入口文件生成一个chunk。根据main c

2021-03-16 11:44:45 88

原创 JS简答题1

简答题1. 请说出下列最终执行结果,并解释为什么?var a = [];for (var i = 0; i < 10; i++) { a[i] = function () { console.log(i); };}a[6]();答:执行结果是 10,因为执行顺序是先循环 10 次,给 a 数组中保存 10 个函数元素。当循环结束以后,全局变量 i 的值已经变为了 10,这个时候无论调用数组中的哪一个,打印结果都是 10.可以改为下面两种:第一种:使用闭包var a =

2021-02-21 22:29:41 445

原创 vue项目中封装js打印功能

在utils文件夹中创建一个名为print.js的js文件print.js方法封装const Print = function (dom, options) { if (!(this instanceof Print)) return new Print(dom, options); this.options = this.extend({ 'noPrint': '.no-print' }, options); if ((typeof dom) === "string")

2021-01-26 13:40:35 236

原创 数字和千位符(金额)格式的转换

数字转成千位符金额function toThousandFilter(num) { return (+num || 0).toString().replace(/^-?\d+/g, m => m.replace(/(?=(?!\b)(\d{3})+$)/g, ','))}千位符金额转成数字function delcommafy(num) { if(num == undefined || num == null) { num = 0; } num = num.toStr

2021-01-15 10:21:13 645

原创 el-cascader:懒加载子级数据、可搜索

一个级联控件的功能,既要能够支持懒加载子级数据(因为数据量大),又要能够支持搜索功能(省得用户往下滚动下拉框)<el-cascader ref="regionDom" key="bbigdd" filterable :before-filter="filterRegion" @input.native="searchRegion" @visible-change="regionMenuChange" v-model="district" @change

2020-11-04 15:24:20 7091 9

原创 jQ一些实用的方法

页面跳转时解析url中携带的参数/** * 解析URL * @function getUrlParam * @param {String} name 跳转页面前url中携带的参数 */function getUrlParam(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象 var urlinfo =window.location.se

2020-11-04 14:33:49 63

原创 一些校验规则

element-ui自定义表单校验方法时一定要调用callback!电话号码校验var legalTel = (rule, value, callback) => { var pattern = new RegExp(/^1[3456789]\d{9}$/); if (!pattern.test(value)) { callback(new Error("手机格式有误,请重新输入")); } else { callback();

2020-09-10 16:49:42 134

原创 uni-app/小程序上传图像的方法封装

uni-app中上传图像方法1.先检查是否已经授权访问相册2.若已授权,访问相册,然后上传。3.若没有,先请求授权,授权成功上传;授权失败,提示需要授权访问相册,确定以后再打开setting设置授权,成功后提示再次点击上传。uni.getSetting({ success(res) { if (res.authSetting["scope.camera"]) { uni.chooseImage({

2020-09-10 16:39:02 744 1

原创 zTree的使用总结踩坑:

如果第一级节点数据如下,想要展开第一级节点数据时异步加载其下的子节点,虽然设置了setting.async,但是展开却不向后端发送请求。let zNodes = [{ name:"类型", isParent:true, children:[]},{ name:"关系", isParent:true, children:[]}]原因分析:setting.data.key....

2020-05-07 18:49:19 322

原创 axios.js

axios不基于任何库和框架//没有请求体的axios.get("url") //就是一个promise对象.then(res=>{ //res 使用相应对象 包含了响应的数据 res.data}).catch(err=>{ //err 错误对象 err.message})//有请求体的axios.post("url",{ //请求主体的数据 key1: v...

2020-05-07 17:48:21 186

原创 Object.keys()遍历对象与for in 遍历对象的区别

Object.keys(obj) 返回可枚举的属性组成的数组var obj = { name:"jack", age: 20, height: 180, weight: "75kg", dance: function(){ conosle.log("I can dance well"); }}Object.keys(obj);//["name", "age", "heigh...

2020-05-07 17:47:55 277

原创 webpack学习(二)

1多页面应用打包1.在webpack.config.js中修改入口和出口配置entry:{ main:'./src/main.js', other: './src/other.js'},output:{ path: path.join(__dirname,'./dist'), filename: '[name].js', publicPath: '/'}...

2020-04-03 08:12:32 59 1

原创 webpack学习

1.webpack的安装安装前需要安装node.js,有两种方式:全局安装webpacknpm i webpack webpack-cli -g项目中安装webpack(推荐使用)npm webpack webpack-cli -D2.webpack的使用使用webpack命令: npx webpacknpx执行过程:去node_modules\bin\webpack....

2020-01-15 10:28:39 193

原创 js方法适配rem

(function(win,doc){ var rem = 100 * doc.documentElement.clientWidth / 1920; doc.documentElement.style.fontSize = rem + 'px'; win.onresize = function(){ rem = 100 * doc.documentElement.clientWidth...

2020-01-10 14:58:51 140

原创 Vue基础知识(二)

过滤器

2019-12-23 20:51:10 297

原创 格式化日期YYYY-MM-DD HH-mm-ss

fewree

2019-12-12 15:41:04 254

原创 vue的指令

vue指令插值表达式、v-html和v-text{{}}:可以更新局部作用: 都是替换使用该指令的元素的内容。v-html与v-text的区别:v-html: 是html输出v-text:是文本输出避免xss攻击 cross site scriptv-if和v-show作用: 条件渲染区别: v-if移除和添加元素 如果只是少数次 使用v-ifv-show:通过控制元素的样式...

2019-12-08 21:33:30 81

原创 contenteditable= true 使HTML元素可以获得焦点

contenteditable属性给元素设置contenteditable属性 值为true|false

2019-12-01 19:02:24 2470

原创 JavaScript语言特征介绍(类型)

JavaScript语言特征介绍(类型)JavaScript是一种弱类型的,动态类型检查的语言。弱类型和强类型弱类型在定义变量的时候,我们可以为变量赋值任何数据,变量的数据类型不是固定死的,这样的类型叫做弱类型var a = 10;a = "abc";a = [];a = function(){}强类型在声明变量的时候,一旦给变量赋值,那么变量的数据类型就已经确定,之后如果要...

2019-10-13 22:06:49 213

原创 undefined和null的区别

相同点都表示无,转换成Boolean都是false;都不能调用方法不同点null是一个关键字,undefined不是一个关键字。null本质是一个空对象,undefined是window的一个属性。当在函数中定义undefined时,因为作用域,在函数内部查找undefined比在window中查找性能更高。typeof 查找类型时,undefined还是undefined; null...

2019-10-11 09:00:25 101

原创 JavaScript之类型转换

JavaScript类型转换最近开始重新学习JS。查缺补漏。JS中的原始值undefined、null、布尔值、数字和字符串。对象包括数组和函数。区别:原始值是不可更改的;原始值得比较是值的比较。对象的值是可修改的;对象的比较是引用的比较。(通常将对象称为引用类型,对象值称为引用,以此区别基本类型)对于对象而言,当且仅当它们引用同一个基对象时,它们才相等。原始值–>对象原...

2019-09-26 20:21:33 69

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除