javascript最初是没有类、没有模块,且是单线程,大量通过callback方式处理异步。
我感觉乱的地方
- 函数可以作为一个变量,能做函数参数,也能作为函数返回值,也能作为对象的属性,变成对象的方法
- 对象实例创建的非常简单,就是用个{}就可以,所谓字面量声明。不用先声明类,然后new,最后还得delete
- 对象可以任意添加属性
- 函数返回的对象,可以直接调用。函数返回的函数可以直接执行
- 模块化,各种模块加载协议、方式
- 各种生态工具:node,npm,gulp,browserify,babel,webpack,minify
- HTML5的新用法,web worker,web component
- HTML DOM的接口、事件、各种API,参数接口
- 因为是解释性语言,可以对代码的文本做很多扩展,比如JSX
- 复杂的异步转同步,Promise,async/await
- 继承通过原型链
- 作用域靠闭包
- this指针可以指定
- 很多便利性的语法。比如可以把函数代码写在一个数组中,作为数组元素之一.
- 各种灵活性的语法,箭头函数,对象方法
- 兼容各种浏览器
知识零碎散乱,不成体系,且变化快。没办法,先学着吧