如何追踪变化

image.png
响应式原理
image.png

数据观测�

observe();

依赖收集

watcher();

触发更新

dispatch();

性能优化

属性的优先级 props > data > methods
变量命名合法性检测,避免与vm内置属性和变量冲突。

  1. /**
  2. * @description
  3. * 变量命名合法性检测
  4. * 判断第一位是否等于$或者_,也就是是否以$或者_开头
  5. * 避免与vm内置属性和变量冲突
  6. * @param str
  7. * @return {boolean}
  8. */
  9. function isReserved (str) {
  10. var code = (str + '').charCodeAt(0);
  11. // 对应16进制
  12. // 0x24 === 36 == '$'
  13. // 0x5f === 95 == '_'
  14. return code === 0x24 || code === 0x5f;
  15. }