- 博客(45)
- 收藏
- 关注
原创 浏览器的event loop和node的event loop
1.什么是event loopevent loops也就是事件循环,它是为了协调事件(event),用户交互(user interaction),脚本(script),渲染(rendering),网络(networking),用户代理(user agent)的工作而产生的一个机制。2.JavaScript的运行机制2.1 单线程的JavaScriptJavaScript语言...
2018-07-08 21:48:07
730
原创 js深拷贝和浅拷贝
简单的拷贝var obj1 = {a:10,b:20}var obj2 = obj1obj2.a = 0console.log(obj1)//得到0,obj1的a也被改变这是因为浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存,修改新对象也就相当于修改原对象。一.浅拷贝的实现1.遍历赋值function simpleClone(data){...
2018-05-16 09:08:34
707
原创 浅谈promise用法
Promise本意是承诺,在程序中的意思就是承诺我过一段时间后会给你一个结果。什么时候会用到过一段时间?答案是异步操作,异步是指可能比较长时间才有结果的才做,例如网络请求,读取本地文件等1.Promise的三种状态Pending Promise对象实例创建时候的初始状态Fulfilled可以理解为成功的状态拒绝可以理解为失败的状态然后方法就是用来指定Promise对象的状态...
2018-05-15 22:34:33
1197
原创 vue 解决addEventListener重复绑定
我在组件里用addEventListener绑定了一个滚动事件,当再次渲染这个组件时,这个事件又被绑定了一次,我试着用removeEventListener解绑,没有成功,因为当组件重新渲染时this.scrollListener已经不是上一个组件里的this.scrollListener了,最后的解决方案是在组件销毁的时候去解绑
2018-03-23 19:11:47
10476
原创 vue v-for就地复用机制导致directive自定义指令不刷新
最近发现了一个问题,自定义指令和v-for共用,v-for的数据发生变化时,自定义指令传的参数并没有改变,还是第一次渲染是的参数,参数并没有被更新
2018-03-10 21:09:13
4150
1
原创 webpack通过url-loader获取资源文件路径
当webpack的项目需要引入一个资源文件时,比如一个swf文件,可以通过url-loader获取打包后资源的路径
2018-03-10 20:28:21
5485
原创 webpack打包禁用严格模式
我在用webpack打包一个js文件时arguments.callee方法发生了报错,原因是babel-loader编译js文件时使用了严格模式 解决方案是修改.babelrc,略过某个js文件
2018-03-10 20:19:47
7132
1
原创 js跨页面触发事件,利用storage监听事件
最近做的一个项目遇到的这个问题,首页是一个列表页,列表上有一些操作需要新开一个标签页展示,在新开页面保存之后要刷新之前的列表页,也就是跨页面触发刷新列表。 我的解决方案是利用storage监听事件,当触发localStorage的值发生改变是,触发storage事件
2018-02-10 22:05:50
4540
原创 vue-router设置页面标题
利用vue-router可以开发单页面应用,但实际中每个视图都有自己的title名,这就要领用router的beforeEach去统一设置了component:
2018-01-28 21:44:25
7112
原创 vue 父子组件通信,利用对象进行通信
大家都知道vue父子组件间通信用到了props,$emit。通过props可以实现父向子通信,通过$emit可以实现子向父通信,现在我要介绍另外一种方式,通过props传对象的形式通信。首先写一个简单的例子//父组件parent> input type="text" v-model="parent.name" /> myChild :child="parent">
2018-01-28 21:07:25
2372
原创 vue watch监听对象及对应值的变化
var vm=new Vue({ data:{ a:1, b:{ c:1 } }, watch:{ a(val, oldVal){//普通的watch监听 console.log("a: "+val, oldVal); }, b:{
2017-12-05 16:12:31
143032
11
原创 vue div contenteditable属性,模拟v-model双向数据绑定功能
在一些特殊的请款下需要用div的contenteditable属性来模拟v-model的功能,但是直接在div上写v-model是不起作用的,首先来看一下v-model是怎么实现的:value="content" @input="content=$event.target.value" />直接把input上的方法移植到div上,会发现居然可以实现v-model的功能div c
2017-12-02 23:31:22
20673
9
原创 简单的vue日历组件
效果图 根据公司设计图制作了一个简单的日历组件,主要包括切换上一年、上一月、下一年、下一月,锁定开始时间、结束时间等功能,以上就是效果图。用法**html:child="date0">:child="date1">**jskim=new Vue({ el:"#app", data:{ date0:{ now:"2
2017-11-28 21:59:38
5579
原创 div contenteditable文本框placeholder属性
用div的contenteditable属性模拟文本框的时候是没有placeholder属性的,但是placeholder得需求又很强烈,本文实例讲述的是如何用css写出div的placeholder属性
2017-08-21 17:51:24
3963
原创 js在contenteditable="true"文本框光标处插入内容
本文实例讲述了如何在div contenteditable文本框光标处插入内容
2017-08-21 17:40:12
8050
原创 js设置光标始终在文本最后
利用contenteditable=”true”模拟输入框时,focus()方法会将光标定位在文本的首位,需要将光标挪到最后一位
2017-08-21 17:02:31
11765
3
原创 contenteditable="true"元素过滤富文本样式
用contenteditable=”true”模拟输入框时,会发生连带样式一起复制到输入框的事情。
2017-08-21 15:06:05
3526
原创 h5本地存储的sessionStorage和localStorage
sessionStorage是临时存储,页面关闭,本地存储消失,且多个窗口不共享数据localStorage是永久存储在本地(可以手动删除数据),且多个窗口可共享数据
2017-04-08 22:28:19
464
原创 getElementsByClassName兼容IE低版本
getElementsByClassName方法可以很方便的用类名得到一组目标元素,在ie低版本是没有这个方的,需要自己写一个getElementsByClassName的方法,遍历子级去匹配类名得到一个数组,下面是一个兼容ie低版本的写法if(!document.getElementsByClassName){ document.getElementsByClassName = funct
2017-02-16 21:32:16
491
原创 addEventListener兼容ie低版本
之前一直使用addEventListener来绑定事件,后来发现这个方法在ie低版本不支持, ie低版本支持的是attachEvent
2017-02-16 21:29:46
10987
1
原创 stopPropagatio阻止冒泡兼容IE
event. stopPropagatio()是阻止冒泡事件的方法, 在ie浏览器上没有stopPropagatio()这个方法, 在ie上要用e.cancelBubble=true阻止冒泡事件
2017-02-16 21:22:43
630
原创 font-face字体图标制作和使用
字体图标,就是将字体包的字符改变为图片,通过字符来显示图标,这样就可以通过改变字体的样式来改变图标的样式,比如大小、颜色等首先要用ai换出一个矢量图形,再将图形复制到字体编辑器上字体编辑器有很多种,比如fontcreator、fontlab,我这里用的是fontcreator打开编辑器,新建一个字体包选中一个字符双击将制作好的矢量图形复制进去
2017-01-21 21:46:58
1211
原创 js移动端双指缩放和旋转
在iOS上有一组双指事件gesturestart、gesturechange、gestureend 但是这一组事件只能在iOS上使用,安桌上是没有的
2017-01-18 21:17:02
22361
5
原创 重力加速度和摇一摇事件
devicemotion是移动端的设备运动事件,是window的事件 event.accelerationIncludingGravity就是设备运动的重力加速度
2017-01-06 21:39:38
1009
原创 jQuery中的$(#id)和document.getelementbyid(id)的不同
document.getelementbyid(id)是一个dom对象打印出来是这样的jQuery中的$(#id)是一个jQuery对象打印出来是这样的如何判断是jQuery对象还是dom对象呢只要判断id[0]是否存在如果id[0]存在就是jQuery对象如何得到一个干净的dom对象呢id[0]就是这个dom对象
2017-01-04 22:04:12
654
原创 safari new data()时间格式问题
很多时候我们看到的时间格式是下面这样的var mydate="2017-01-01 00:00:00";用这样一个字符串可以通过new date()转化为一个时间对象alert(new Date(mydate)) 但是在safari和ie浏览器下却得到invalid date如果只写年月日不写时分秒var mydate="2017-01-01";IE下没有问题了,但
2017-01-04 21:40:51
2483
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人