- 博客(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的指令
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关注的人