0%

js让人乱在几个地方

javascript最初是没有类、没有模块,且是单线程,大量通过callback方式处理异步。

我感觉乱的地方

  1. 函数可以作为一个变量,能做函数参数,也能作为函数返回值,也能作为对象的属性,变成对象的方法
  2. 对象实例创建的非常简单,就是用个{}就可以,所谓字面量声明。不用先声明类,然后new,最后还得delete
  3. 对象可以任意添加属性
  4. 函数返回的对象,可以直接调用。函数返回的函数可以直接执行
  5. 模块化,各种模块加载协议、方式
  6. 各种生态工具:node,npm,gulp,browserify,babel,webpack,minify
  7. HTML5的新用法,web worker,web component
  8. HTML DOM的接口、事件、各种API,参数接口
  9. 因为是解释性语言,可以对代码的文本做很多扩展,比如JSX
  10. 复杂的异步转同步,Promise,async/await
  11. 继承通过原型链
  12. 作用域靠闭包
  13. this指针可以指定
  14. 很多便利性的语法。比如可以把函数代码写在一个数组中,作为数组元素之一.
  15. 各种灵活性的语法,箭头函数,对象方法
  16. 兼容各种浏览器

知识零碎散乱,不成体系,且变化快。没办法,先学着吧