自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 js笔记--事件处理程序

js和html的交互通过事件。事件流描述页面接受事件的顺序。事件流分为事件冒泡和事件捕获。DOM2 Events规范规定事件流分为3个阶段:事件捕获、到达事件和事件冒泡。 事件处理程序 html事件处理程序问题:1、时机问题,有可能html元素已经显示在页面上,用户都与其进行交互,而事件处理程序的代码还无法执行。2、对事件处理程序作用域链的扩展在不同浏览器中可能导致不同的结果3、html与js强耦合,如果修改事件处理程序,必须在html和js中子u该代码DOM0事件处理程序

2021-08-10 17:25:40 78

原创 前端性能优化

前端性能优化的目的提高页面的加载速度,优化用户的访问体验页面内容方面:通过文件合并,css雪碧图,base64的方式减少http请求,避免过多请求造成等待的情况 通过DNS缓存机制减少DNS查询 设置缓存策略,对常用不变的资源进行缓存 延迟加载,减少页面首屏加载时需要请求的资源 通过用户的行为,对某些资源使用预加载的方式,提高用户需要访问资源时的响应速度服务器方面:使用CDN服务,提高用户对于资源请求时的响应速度 服务器端启用Gzip,Dflate等方式对传输资源进行压缩,减少文件体

2021-08-10 14:56:38 78

原创 代码块执行顺序(this指向)

inner = 'window'function say() { console.log(inner) console.log(this.inner)}var obj1 = (function () { var inner = '1-1'; return { inner:'1-2', say:function () { console.log(inner) console.log(this.inner) } }})();v.

2021-08-09 17:17:53 208

原创 vue是如何监听数组变化的

vue的数据绑定用Object.defineProperty的getter和setter对一个对象属性的变化进行监听,并且通过依赖关系作出相应的视图更新。但由于js的限制,vue无法检测到以下数组的变动:1、直接使用索引设置一项时2、修改数组长度vue对数组进行特殊处理,将数组的常用方法进行重写,通过包装后的数组方法能够在调用的时候被监听到,将当前数组的变更通知给订阅者,这样,当使用重写后的方法改变数组后,数组订阅者会将变化更更新到页面。参考:如何监听数组变化?vue中是如何监听数.

2021-08-06 11:01:08 2415

原创 代码段输出顺序

//代码的输出顺序console.log('begin')setTimeout(()=>{ console.log('setTimeout 1') Promise.resolve().then(()=>{ console.log('promise 1'); setTimeout(()=>{ console.log('setTimeout 2 between promise1&2') }) }).then(()=>{ .

2021-08-06 09:57:21 189

原创 js继承的6种方法

1、原型链继承问题:1、原型中包含引用类型时,引用值会在所有实例间共享2、子类型在实例化时不能给父类型的构造函数传参2、盗用构造函数优点:子类型在实例化时能给父类型的构造函数传参问题:1、必须在构造函数中定义方法,不能实现函数重用2、子类不能访问父类原型上的方法3、组合继承结合原型链和盗用构造函数。基本思路使用原型链继承原型上的属性和方法,使用构造函数继承实例属性。缺点:效率问题,父类构造函数始终会被调用两次。一次是在创建子类原型,另一次是在子类构造函

2021-07-19 17:20:44 129

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除