undefined

本文主要用于记录自己在读Vue技术内幕这本小书时的一些小记录,可能是小技巧可能是小感悟之类的。

使用Performance.mark()来跟踪性能问题

这是web浏览器自带的一个功能函数。专门用于跟踪性能分析性能问题。这里主要有两个方法Performance.mark()Performance.measure()。纯属做个小记录,以后有需要可以用得上,暂时来说只有自己做一些小算法练习可能用到,暂时短期内不会有计划吧。

有关vue在正式环境下就不检测很多报错内容的做法

这样其实相当于给正式环境释放压力,在开发环境下有各种报错手段提醒开发者纠正这些错误后。到达正式环境层面就隐藏这些内容以减轻正式环境的运行压力。

程序化的事件侦听器

一个很常用的小技巧,当你的应用需要用到搜索框切根据用户每次输入进行搜索结果时,你肯定需要一个防抖动函数。这时候,你可以把它放到create的时候来绑定一下,然而难以避免地你还需要手动去取消一下监听。这时候这种做法就有用武之地了。

27491535879405_.pic

优化一下:

image-20180902175156593

引用一下官方文档的说法(第一种的缺点):

  • 它需要在这个组件实例中保存这个 picker,如果可以的话最好只有生命周期钩子可以访问到它。这并不算严重的问题,但是它可以被视为杂物。
  • 我们的建立代码独立于我们的清理代码,这使得我们比较难于程序化地清理我们建立的所有东西。

检测对象中是否有指定的属性

hasOwn

1
2
3
4
5
6
7
8
9
/**
* Check whether the object has the property.
*/
// 调用Object原型上的方法,原因是javascript并没有保护该属性,因此某个对象是有可能存在使用这个属性名的属性
// 例如:var a = { hasOwnProperty: 1, b }
const hasOwnProperty = Object.prototype.hasOwnProperty
export function hasOwn (obj: Object | Array<*>, key: string): boolean {
return hasOwnProperty.call(obj, key)
}