##javascript
一、什么是JavaScript
JavaScript ( JS ) 是⼀种具有函数优先的轻量级,解释型或即时编译型的脚本语⾔。
是一种弱类型语言,在声明变量时,不需要指定变量类型
弱语言语言的特点:
- 变量的数据类型在初始化的时候确定
- 变量的数据类型可以随时发⽣改变
- 类型细分不明显
js的运行环境:1.浏览器 2.nodejs
JavaScript 是⼀种基于原型编程、多范式的动态脚本语⾔,并且⽀持⾯向对象、命令式和声明式(如函数式编程)⻛格。
是前端的核心语言,用于网页/网站,webAPP,小程序开发,后台管理系统,nodejs编程
是前端框架的基础,很多框架用的是ES6语法,ES5是ES6的基本
二、使用场景:
1.web开发
2.服务器端开发:
- 使用js去开发后端服务,接口开发
- js语言作为基础,框架-egg
三、js的历史:
1995年javascript 之父 - 布兰登·艾克发明了 JavaScript
1997 年,JavaScript 1.1 作为一个草案提交给欧洲计算机制造商协会ECMA。 版本为:ECMA-262 维护组织为:TC-39
ECMAScript和javaScript: 1997 年,JavaScript 1.1 作为一个草案提交给欧洲计算机制造商协会ECMA。 版本为:ECMA-262 维护组织为:TC-39
因为JS语言存在很多局限性,比如没有模块化,变量没有类型,没有块级作用域等。所以在JS社区中,存在一些其他的版本,比如:sea.js、require.js等
四、JavaScript的组成
ECMAScript + DOM + BOM
五、js的工作原理
5.1单线程模式
执行代码的线程的只有一个
有一个任务比较耗时,我们会了解决这个问题,可以采用异步的方式去解决。
5.2同步代码
严格按照执行顺序执行
5.3异步代码
首先同步代码会先执行(不等异步代码)
如果有结果返回进入消息队列,异步代码会被压入webapi环境
六、js的垃圾收回机制
JS的垃圾回收机制是为了以防内存泄漏
垃圾回收机制就是间歇的不定期的寻找到不再使用的变量,并释放掉它们所指向的内存。
6.1常见的收回方式
6.1.1标记清除
条件是:不被其他对象引用的变量会被清除
6.1.2引用计数
条件是:引用次数为0时被清除
6.2什么变量会被识别为垃圾
没有被引用的对象
几个对象相互引用形成闭环
6.3什么变量不会被识别为垃圾
全局变量、闭包
七、ECMAScript