摘要:
闭包的应用场景 1.使用闭包代替全局变量 2.函数外或在其他函数中访问某一函数内部的参数 3.在函数执行之前为要执行的函数提供具体参数 4.在函数执行之前为函数提供只有在函数执行或引用时才能知道的具体参数 5.为节点循环绑定click事件,在事件函数中使用当次循环的值或节点,而不是最后一次循环的值或 阅读全文
摘要:
Vue2.X通过Object.defineProperty()来劫持各个属性的setter,getter,新版本通过Proxy劫持属性 Proxy优势 支持数组,其实还不止 Object.defineProperty() 的问题主要有三个: 不能监听数组的变化 必须遍历对象的每个属性 必须深层遍历嵌 阅读全文
摘要:
转载https://blog.csdn.net/weixin_42798473/article/details/105319353 阅读全文
摘要:
对于vue来说,组件之间的消息传递是非常重要的,下面是我对组件之间消息传递的常用方式的总结。 props和$emit(常用) $attrs和$listeners 中央事件总线(非父子组件间通信) v-model provide和inject $parent和$children vuex 1.prop 阅读全文
摘要:
js 监听URL的hash变化 if( ("onhashchange" in window) && ((typeof document.documentMode "undefined") || document.documentMode==8)) { // 浏览器支持onhashchange事件 w 阅读全文
摘要:
编写 Loader Loader就像是一个翻译员,能把源文件经过转化后输出新的结果,并且一个文件还可以链式的经过多个翻译员翻译。 以处理SCSS文件为例: SCSS源代码会先交给sass-loader把SCSS转换成CSS; 把sass-loader输出的CSS交给css-loader处理,找出CS 阅读全文
摘要:
参考链接:http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html 阅读全文
摘要:
样式缩放 最省事的适配方法,直接用px为单位按视觉进行开发,然后通过计算屏幕与网页的宽高比,用transform:scale来对网页进行全局缩放。 不过此方法会有一个小问题,就是如果网页内有动画的话,缩放后会稍微降低页面性能,在低配的安卓机器上表现的比较明显,iOS上没发现有性能问题。 Rem缩放 阅读全文
摘要:
我们需要牢记两点: ①__proto__和constructor属性是对象所独有的; ② prototype属性是函数所独有的,因为函数也是一种对象,所以函数也拥有__proto__和constructor属性。 __proto__属性的作用就是当访问一个对象的属性时,如果该对象内部不存在这个属性, 阅读全文
摘要:
事件委托其实就是,通过监听一个父元素,来给不同的子元素绑定事件,减少监听次数,从而提升速度 JavaScript 事件代理则是一种简单的技巧,通过它你可以把事件处理器添加到一个上级元素上,这样就避免了把事件处理器添加到多个子级元素上。当我们需要对很多元素添加事件的时候,可以通过将事件添加到它们的上级 阅读全文
摘要:
1.背景介绍 浏览器的事件发生顺序 浏览器的事件发生顺序分为事件冒泡与事件捕获 事件冒泡可以形象地比喻为把一颗石头投入水中,泡泡会一直从水底冒出水面。也就是说,事件会从最内层的元素开始发生,一直向上传播,直到document对象。 因此在事件冒泡的概念下在p元素上发生click事件的顺序应该是p - 阅读全文
摘要:
1.背景介绍 浏览器的事件发生顺序 浏览器的事件发生顺序分为事件冒泡与事件捕获 事件冒泡可以形象地比喻为把一颗石头投入水中,泡泡会一直从水底冒出水面。也就是说,事件会从最内层的元素开始发生,一直向上传播,直到document对象。 因此在事件冒泡的概念下在p元素上发生click事件的顺序应该是p - 阅读全文