前端
ICPunk
持续学习,空杯心态,努力工作,感恩生活
研究Vue、React生态,探索web3D、webgis、元宇宙、数字孪生、虚拟办公、低代码等技术
不止于前端,努力掌握更多技术,不在拥有技术,而在培养视角
天高地阔,瀚海星云,不低估他人,不高看自己
展开
-
一文看懂Typescript
typescrip从入门到升级原创 2022-06-18 23:13:35 · 203 阅读 · 0 评论 -
android sdk下载、安装和配置
开发react native项目前需要配置JAVA JDK和android sdk环境,这里主要记录一下mac m1下安装和配置android sdk的步骤。window环境下注意以管理员身份安装和运行,安装完后配置系统环境变量下载sdk,打开页面后搜索sdk tools...原创 2022-06-04 18:32:22 · 861 阅读 · 0 评论 -
一文看懂前端开发中的this指向问题
普通函数的this都是在函数执行时动态确定的;箭头函数的this是在编译时,代码执行前确定的,由父环境的this指向确定。本文还特定介绍了一下事件绑定中的this指向问题,其实也算是this指向问题的一种应用场景。另外,**vue**和**react**中this指向算是普通函数和箭头函数this指向的综合应用。原创 2022-05-25 16:42:01 · 901 阅读 · 0 评论 -
实现Promise.all
实现Promise.all原创 2022-04-20 23:39:48 · 139 阅读 · 0 评论 -
用setTimeout实现setInterval
// 用setTimeout实现setInterval// 1. 变量初始化const timerMap = {} // 可在全局内存储多个timerId, 对象的键是数字时会自动转为字符串let id = 0 // timerId的全局的辅助变量// 2. 定义mySetIntervalconst mySetInterval = (cb, time) => { // 2.1 变量定义及初始化 const timerId = id // 调用mySetInterval原创 2022-03-20 12:35:36 · 651 阅读 · 0 评论 -
js数据类型判断方法小结
原始类型:string, number, boolean, undefined, null, symbol, bigint引用类型:Object (Array, Function, RegExp, Date)typeof: typeof BigInt(‘111’)、typeof 111n 都会返回biginttypeof Func会返回function, 后面是其它引用类型都返回objecttypeof 原始类型除null返回object外都返回对应类型constructor: [].co原创 2022-03-19 18:58:21 · 87 阅读 · 0 评论 -
el-select支持远程搜索时是没有下拉箭头icon的
原创 2021-03-17 09:37:02 · 2231 阅读 · 4 评论 -
如何设置el-date-picker的默认截止时间为“23:59:59”
1、设置的关键是:default-time="[‘00:00:00’, ‘23:59:59’]" <el-date-picker :default-time="['00:00:00', '23:59:59']" v-model="formData.dischargeTime" type="datetimerange" range-separator原创 2021-03-10 16:58:06 · 9650 阅读 · 4 评论 -
如何将el-form-item中表单项label和表单项内容换行
只需要将el-form或者el-form-item中的label-width属性去掉或者设置为0即可,这样即可满足长标签的要求,以适应问答类表单等场景。原创 2021-01-28 11:00:28 · 20770 阅读 · 4 评论 -
前端“Unexpected end of JSON input”报错问题
我是在vue中项目遇到这个问题,排查了半天,最后发现是JSON.parse(transferData)使用的问题。一定注意JSON.parse()入参不能是空字符串。在使用JSON.parse()前要对入参做判断,适用于所有前端项目。原创 2021-01-11 17:12:37 · 42625 阅读 · 5 评论 -
怎么理解js对象的可枚举属性
可枚举就是可遍历的意思,如果对象的属性可以通过for key in myOject遍历,就意味着该属性是可枚举的。新建一个对象时,定义的属性默认是可枚举的,也可以通过Object.defineProperty将该属性定义为不可枚举的。...原创 2019-03-30 15:16:10 · 2180 阅读 · 0 评论 -
如何解决cnpm安装依赖后项目无法运行的问题
在vue项目开发中会经常遇到cnpm安装好依赖后项目无法运行,或者cnpm安装依赖出现错误,想删除node_modules用一般方法又删不干净。这时有效的解决方法是npm -g rimraf全局安装rimraf工具,再执行rimraf node_modules即可删除node_modules,然后用npm i命令重新安装依赖即可。cnpm虽然安装速度快,但经常出问题。...原创 2019-03-17 15:48:23 · 4100 阅读 · 0 评论 -
svg中marker元素的理解
marker的用途常用于做箭头标签使用。marker的定义和属性<marker markerWidth="10" marlkerHeight="10" refX="0" refY="5"> <path d="M 0 0 L 10 5 L 0 10 z" stroke="#666"></path&g原创 2019-02-16 15:14:32 · 3741 阅读 · 0 评论 -
ES6中let定义变量会提升吗
es6不支持变量提升,程序会报错原创 2018-12-25 11:52:57 · 582 阅读 · 0 评论 -
z-index什么时候才能起作用?
z-index只适用于已定位的元素:即拥有relative、absolute或者fixed的元素。所以z-index是一种依赖属性,依赖position属性。原创 2018-12-10 22:56:52 · 4868 阅读 · 0 评论 -
怎么才能成为一个优秀的程序员?
程序员进阶之心法 学会让自己慢下来某个行业或者群体总是存在二八定律,群体中只有20%的人才能称的上是优秀。如何成为程序员中的20%群体呢?学会让自己的节奏慢下来,当每天面对的是排满的需求和待修改的bug的时候,当遇到一个陌生的问题的时候,当发现身边一个比一个优秀的时候,你是东拼西凑一些零碎的代码片段带上自己的一知半解而蒙混过关,还是你会对问题的本身做一些深度的思考。你的选择将决定着你以后在专业领...原创 2018-12-09 15:20:20 · 227 阅读 · 0 评论 -
同一个dom元素绑定的两个class优先级问题
同一个dom元素绑定的两个class优先级遵守,注意是根据类定义的先后顺序确定优先级,而不是根据类使用的先后顺序来确定优先级,后定义的覆盖先定义的。vue中给dom动态绑定的class类遵循同样的规则。比如:&amp;amp;lt;style&amp;amp;gt;.box1 { with: 100px; heigth: 100px; background-color: pink;}.box2 { with: ...原创 2018-12-09 16:18:19 · 2011 阅读 · 0 评论 -
vue中js怎么引用计算属性?
你可以像data属性一样理解computed属性,都是数据,在js中引用时也是使用this.来引用,在模板中用计算属性时,则和data属性一样,直接使用。原创 2018-12-09 19:31:40 · 2038 阅读 · 0 评论 -
js简单数组深拷贝的三种简洁方式
ES6方法采用扩展运算符,扩展运算符就是将数组扩展为逗号隔开的序列。let arr1 = [1,2,3,4,5];let arr2 = [...arr1];这里区分一下深拷贝和浅拷贝,浅拷贝通过直接赋值的方式(arr2=arr1)来实现arr2数组的创建,实质上只是将arr2指向了数组数据[1,2,3,4,5]在堆内存中的保存地址。也就是说arr1、arr2保存的是同一个堆内存地址。因此...原创 2018-12-09 21:51:10 · 13965 阅读 · 8 评论 -
深入浅出js中堆栈结构和应用场景
从两个放面来分析:数据结构栈是一种线性的数据结构,读取规则是先进的后出;堆是一种树形数据结构,读取相对复杂。二者在js中的应用栈主要存储基本数据类型和代码段这种固定长度的数据,方便代码执行时的入栈、出栈操作。堆主要存放引用数据类型这种不定长度、且占空间比较大的数据。...原创 2018-12-09 22:07:04 · 1023 阅读 · 0 评论 -
js中函数的入参过多能分两行写吗
可以,举例如下:let arr = [1,2,3];let newArr = arr.concat(5,6,7, 8) console.log(newArr);当程序运行时,控制台会正常输出[1,2,3,5,6,7,8]原创 2018-12-09 22:27:00 · 2691 阅读 · 0 评论 -
理解vue项目webpack配置中的__dirname
直接上自己执行代码的截图__dirname是node.js的一个全局变量,用于指向当前执行脚本(dirname.js)所在的目录路径,而且是绝对路径。原创 2018-12-15 20:52:24 · 8748 阅读 · 0 评论 -
理解vue项目webpak配置中path.join()
先上图,后解释path.join可以将字符串拼接成路径,字符串中间会加上斜杠用于分割父子目录。原创 2018-12-15 21:11:54 · 1390 阅读 · 0 评论 -
理解vue项目webpack配置中的path.reslove
先上图后解释path.resolve()将路径或者路径序列转换成绝对路径。原创 2018-12-15 21:40:03 · 811 阅读 · 0 评论 -
includes方法
es6之前判断数组中是否存在某个方法,一般用indexOf(),但用indexOf有两个问题:1、不够语义化,indexOf是返回索引下标的意思,如果不存在会返回-1;2、无法判断数组中的NaN。而includes方法不存在这两个问题。参考下图:...原创 2018-12-15 21:52:49 · 11276 阅读 · 0 评论 -
vue项目中package-lock.json文件作用
从字面意思看起锁定作用,就是锁定依赖模块和子模块的版本号。package-lock.json是新版本node支持的文件,在执行npm install时,先读取package.json中的依赖,再读取package-lock.json中的版本号,从而来决定安装和更新。...原创 2018-12-15 22:11:42 · 5526 阅读 · 0 评论 -
找出数组中出现奇数次的元素最简洁方法
找出int型数组中出现奇数次的元素,前置条件:数组中只有一个出现奇数次的元素。function(A){return A.reduce((a, b)=>a^b);}解决问题的关键是要想明白,按位异或运算满足结合律,偶数个异或结果是0,奇数个异或结果是本身,如1 ^ 2 ^ 3 ^ 1 ^ 2 ^ 3 ^ 3 = (3 ^ 3 ^ 3) ^ (1 ^ 1) ^ (2 ^ 2) = 3^...原创 2018-12-16 00:24:28 · 1598 阅读 · 0 评论 -
怎样理解js中typeof xxx的写法?
typeof常见的写法以下三种:typeof(xxx),typeof (xxx), typeof xxx。有些同学觉得type从用法形式上看像函数又不像函数,心里会有不少疑惑。其实从js官方文档上看,官方给出的定义,typeof是一种运算符,类似于加减乘除,后面跟的是操作数,而不是函数那种后面跟的是入参。感兴趣的同学可以看js引擎的源码,如果能找到的话,js引擎对函数和操作符的解析是不一样的。ty...原创 2018-12-09 14:44:43 · 583 阅读 · 0 评论