- 博客(13)
- 资源 (1)
- 收藏
- 关注
原创 vue2.x关于el-input输入框的自定义指令,新需求埋点统计用户输入时长统计,记录
1.创建js文件import Vue from 'vue'// 创建一个用于存储焦点持续时间的对象const focusDurations = {}Vue.directive('focus-duration', { // 当被绑定的元素插入到 DOM 中时…… inserted: function(el, binding) { let inputDom if (el) { inputDom = el.children[0] console.log
2024-02-27 11:19:54 500
原创 java.lang.NoSuchMethodError: No static method setDefaultTypeKe 求大神支招
E/AndroidRuntime: FATAL EXCEPTION: mainProcess: com.tansun.magicube, PID: 19291java.lang.NoSuchMethodError: No static method setDefaultTypeKey(Ljava/lang/String;)V in class Lcom/alibaba/fastjson/JSON; or its super classes (declaration of ‘com.alibaba.fas
2023-04-21 15:39:08 571 5
原创 VUE2.0 脚手架搭建项目,如何配置本地IP地址访问项目,详解
VUE2.0 脚手架搭建项目,如何配置本地IP地址访问项目,详解!前言:后端同事想访问我VUE本地项目进行自测,然后我就进行了一系列配置1.首先找到config文件夹目录下的 index.js文件// Various Dev Server settings //host: 'localhost' //将localhost进行替换成 0.0.0.0 host: '0.0.0.0', // can be overwritten by process.env.HOST port: 80
2021-04-14 10:10:29 1645 2
原创 ES6 之set容器去重
<script type="text/javascript"> /* * ES6 通过set容器对数组去重 * * */ let arr = [1, 2, 1, 5, 2, 3] let arr1 = arr arr = [] let set = new Set(arr1) for(let i of set) { arr.push(i) } console.log(arr) // [1, 2, 5, 3] </.
2020-08-07 14:08:57 232
原创 JS实现数据的深度克隆
<<script type="text/javascript"> /* * 实现原理:基本数据类型,拷贝之后,修改拷贝后的数据,原数据不会受到影响; * 实现方法: 递归,判断数据类型 * * */ //调用对象原型上的toString,通过call绑定当前data,通过当前data调用toString // 通过该方法可以精准的判断当前数据属于何种数据类型 function checkDataType(data) { ..
2020-08-07 13:43:09 775
原创 ES6 promise对象理解
/* * promise对象:代表未来将要发生某个事件(异步操作) * 有了promise对象,可以将异步操作以同步的流程表达出来,避免了层层嵌套的 * 回调函数(俗称回调地狱) * ES6的promise是一个构造函数,用来生成promise实例 * 使用步骤(2步): * 1.创建promise对象 * let promise = new Promise((resovle, reject) => { * 当promise实...
2020-07-28 17:05:28 108
原创 ES6箭头函数的特点以及this的指向,通俗理解
/*没有参数的时候 * ()不可省略,否则报错 * */ let fn1 = () => console.log('我是箭头函数fn1') fn1() // '我是箭头函数fn1' /* * 只有一个参数的时候 * ()可省略 * * */ let fn2 = a => console.log(a) fn2('我是箭头函数fn2') // '我是箭头函数fn2' /* * 两个参数...
2020-07-28 11:32:35 164
原创 ES6对象与数组解构赋值理解
/* * 变量的解构赋值:从数组或者对象中提取数据,赋值给变量(多个) * 对象的解构赋值: * let { userName, age } = { userName:'123', age:18 } * 相当于重新定义了两个变量来接受等号右边的参数,只不过变量名要与对象的KEY一一对应 * 数组的解构赋值: * let [ a, b ] = [ 1, 2 ] * 相当于重新定义了两个变量来接受等号右边的参数,定义的变量以下标为基础,对应右边数组内...
2020-07-28 10:35:23 180
原创 ES6 let,const与var的区别与理解
/* * let: * 特点: * 1.在块作用域内有效; * 2.不能重复声明; * 3.不存在预处理(全局预处理,创建全局预处理对象,将 * var定义的变量,放在windows属性上,this绑定为window * 函数预处理,创建函数预处理对象 * ),不存在变量提升 * const: 定义一个常量 * 特点: * 1.不能修改 * 2.不存在预处理,和变量提升, * 3.不能重复声明 * */ // le...
2020-07-28 10:13:23 89
原创 ES5 call,apply和bind的区别和理解
/* * call: 从第二个参数起,依次传参,传参之后直接调用 * apply: 第二个参数起,是数组,传入的参数放进数组里面,传参之后直接调用 * bind: 绑定完this不会立即调用当前函数,而是返回一个函数 * bind传参的方式跟call一样,指定this之后依次传入,通常与回调函数配合使用 * * */ var obj = { userName: '123' } function foo(data) { conso...
2020-07-28 09:38:08 191
原创 ES5 数组的扩展方法
/* * Array.prototype.indexOf() //返回值为数组第一个元素的下标,未找到就会返回-1 * Array.prototype.lastIndexOf() //返回值为数组最后一个元素的下标 * Array.prototype.forEach(funcation(){})//遍历数组 * Array.prototype.map(funcation(){})//返回一个新的数组,对原数组每个元素进行处理 * Array.prototype.filter(funcation(.
2020-07-27 17:49:01 105
原创 ES5中的Object的两种常用的静态方法
Object的扩展方法常用的两种1.Obeject.create(prototype,descritors)Obeject.create(prototype,descritors):将新的对象为原型创建新的对象。该方法接受两个参数1.prototype:将新的对象为原型2.descritors:为新的对象添加新的属性,包含描述性属性value:属性值,2.1writetable:是否可修改的新的属性值;默认false,不可修改;2.2configurable:是否可删除新的属性;默认false
2020-07-27 17:00:19 206
原创 JS里面的堆栈和垃圾清理
JS里面的堆栈和垃圾清理堆栈var a = 10;var b = a;console.log(a,b); // 10,10a = 20console.log(a,b); // 20,10// 直接复制,计算机会在开辟一个新的存储空间,用来存储值,此时叫栈,栈里面存储是数值,当b = a时,赋值的是栈里面的地址。所以当a值改变的时候,其指针并没有改变,所以也就不会值也就不会变var ...
2019-12-02 15:14:32 1033
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人