返回首页

Review.md 项目笔记

写 Review.md 时积累的一些零散观察。

发布 2017年3月16日 标签 #javascript #notes

~/posts/reviewmd-stuff $ cat post.md

/ 语言 EN / 中文
/ 主题 / /

写 Review.md 时积累的一些零散观察。

  • 方法传递
    • 很多场景下没法直接调用方法,因为 JS 是延迟激活——setInterval、ajax 回调、文件读取完成回调等等都属于这类。
    • 把方法当参数传出去之后,再被调用时 this 的指向会变。
      • this 的真实位置:obj.fn() 只是语法糖,对象方法的本体是 call,形式是 fn.call(this, arg1, arg2)——this 是自己控制的。语法糖里 this 自动指向调用对象;没有这样的对象时则指向 window
      • 方法被传出去后 this 改变就很难追,能不依赖 this 调用就尽量避免。
  • GitHub RAW 可以拿来放静态文件当 CDN,也可以放在仓库里让别人贡献。
  • getURLVar:从 URL 后面的 ?key=value 里取参数。不支持动态修改。
  • 另一个工具方法用正则把要传给 PHP 的字符串里的 &+? 转义掉,避免被当成分隔符吃掉。这块可以做得更完善。
  • Safari 里用 let 声明 Vue 对象会报错,换 var 就好——原因是变量提升:var 会被提升到作用域顶部,let 不会。
  • 一些一次性、固定的资源可以放到公共 class 里,减少用户的下载次数;用 CDN 的库也能省服务器流量。
  • Vue 组件可以用隐藏 button 的 click 事件和外部变量通信、调方法。
    • Vue 组件中的 data 必须是函数,但可以是一个返回对象的函数。
  • \n 切分文件可以按行读取。
  • 准备把热门按钮也放到 GitHub 上,这样可以实时更新。
返回首页