- 博客(9)
- 收藏
- 关注
原创 js中的new Map的用法
map数据结构是es6中新出的语法,其本质也是键值对,只是其键不局限于普通对象的字符串1.创建mapvar mymap = new Map() // 创建空mapvar map2 = new Map([[1,2],[true,3]]) // 有初始参数的map2. map的方法map有has,get, delete,set,clear 五种方法,还有个size属性set方法 map添加新键值var mymap = new Map()mymap.set('name','童')has方
2021-11-19 17:13:42
8435
原创 call,apply,bind3者的用法和异同点
1 用法如图,call,apply,bind三者都是用来改变函数内this的指向。第一个参数都为this的新指,第二个参数bind和call是作为函数实参按顺序传入,apply的第二个参数是一个实参组成的数组、2 异同点他们都可以用来改变函数的this的指向,但是从图中我们可以看到,bind和其它两个是有所不同的,bind仅仅是改变了this的指向,但是他不会立即执行这个函数,而call和apply会立刻执行。call和apply用法基本相同,只是他们的传参方式有点不一样,call是所有的参数直接一
2021-10-25 15:58:19
195
原创 bfc用法
bfc的含义和作用1.含义bfc是什么?bfc也叫块级格式化上下文,一个bfc包含了该区域内所有的子元素,但不包含其子元素的内部元素2. 特点bfc区域互不影响3.什么条件称得上的bfc1).body根元素2).浮动元素3).定位元素4).行内快模式5).设置overflow以上满足一个就是bfc了4.作用1.解决塌陷问题(垂直塌陷,包含塌陷)2.解决浮动影响(子元素浮动,父元素没设置高度时会变为0,父元素设置overflow后可解决浮动失去高度问题)3.解决浮动元素覆盖标准流
2021-10-25 11:22:11
595
原创 vue中句内双三元表达式来实现对class的操纵
当isUsing属性为false时,class为use-again,isUsing为true时,走入第二个三元表达,这个item中,有isUsing这个属性class为green,否则为gray。
2020-08-05 09:52:48
627
原创 ios上时间转换为时间戳出现NAN
最近小程序遇到了一个bug,一个时间显示在安卓上正常,在ios会出现NAN的情况仔细分析后发现这是因为ios对于时间格式为“YY-MM-DD 00:00:00”这种‘-’格式的不能转换为时间戳,我们需要将其转换为‘YY/MM/DD 00:00:00’这类‘/’格式的时间。以下是转换代码var a = '2020-8-5 09:23:20'var b = a.replace(/-/g,'/')// 转换为'/'格式console.log(b)console.log(Date.parse(b))//
2020-08-05 09:29:14
321
原创 let声明的变量在Window中找不到
今天在写一个demo的时候,直接定义了一个变量age,然后在函数里面用this.age来取的时候,发现取不到,打印结果为undefined,,然后打印了一下Window,发现果然没挂载到Window这个对象里。后来查阅资料发现:在es5中,顶层对象的属性等价于全局变量es6中,var,function声明的全局变量,仍然属于顶级对象的属性;使用let,const,class声明的全局变量不再属于顶层对象的属性,这意味着es6开始,全局变量和顶层对象的属性开始分离,脱钩。所以我们在window对象里也就找
2020-07-10 15:02:54
966
原创 new关键字的作用
创建一个空对象obj该对象的原型指向构造函数的原型对象传入参数,执行构造函数,将this指向obj返回obj手写new的执行过程控制台结果可以看到,结果相同
2020-07-09 16:51:39
1626
原创 在vue项目中实现input框输入最多两位小数(很有效)
我们经常有这样的要求,input框的输入最多让其最大输入两位小数,当时第一时间想到的就是正则,就去网上搜对应的正则表达式,但是很多并不有效,最后找到了一种很不错的。代码附上,另外我这里用的是原声的input,所以输入的值为e.target.value,如果是element组件的input框的话就直接写e就可以了。正则附上:/^\d*(\.?\d{0,2})/g)[0]希望对大家有用...
2020-07-03 15:54:06
5641
原创 详解小程序的蓝牙模块
刚刚结束了一个项目,其中用到了小程序的蓝牙模块,当时也是遇到了很多的问题,这里就说下其中遇到的一些问题和坑1 流程首先是开启蓝牙模块,uni.openBluetoothAdapter({ success(res) { console.log(res) } })这里可以在fail的时候提示用户开启蓝牙,在成功的回调里获取本机蓝牙适配器状态,uni.getBluetoothAdapterState({ success(res) { console.log(res) } })当返回的适配器可用时,就可以开始
2020-07-02 16:53:44
3449
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人