1、ES和JS的关系
- ES是JS的规范
- JS是ES的实现语言
2、script标签的async和defer属性
- 这两个属性主要针对外部引入js的script元素生效,在不书写这两个属性的时候浏览器在渲染HTML一旦遇到js就会停止渲染,开始下载js和执行js,然后才继续渲染HTML,这样会导致js无法操作未被渲染的元素,只有放在下面才行
- 浏览器渲染HTML的时候如果遇到了添加async属性的外部引入的js文件,就会再开启一个新的线程下载js文件,并不会停止HTML的渲染,等渲染结束再依照顺序执行js文件
- 浏览器渲染HTML的时候如果遇到了添加defer属性的外部引入的js文件,就会再开启一个新的线程下载js文件,并不会停止HTML的渲染,但是一旦有一个js文件下载完成就会停止渲染执行下载好的js文件,当js执行完才继续渲染HTML。这样的好处是并行下载,但是js执行顺序不固定,需要js之间没有依赖关系,js下载完就执行,会停止HTML的渲染,所有不要操作D
3、基础调试语句
- console.log()方法:控制台打印数据,log中写什么就打印什么;遇到console.log()就会在控制台打印,并不会停止代码的运行;常用于调试和纠错
- alert()方法:DOM提供的方法;操作浏览器弹出一个确认框,弹出弹窗的内容就是alert中书写的值;弹窗弹出后会停止代码的执行,直到用户做出选择
- document.write()方法:在文档中写入内容;当异步操作的时候会直接覆盖body中的原有内容
4、基础词法
- 严格遵守大小写
- 注释:单行注释:“//” 多行注释:“/* */”
- 标识符:标识符指的是变量、函数、属性的名字,或者函数的参数;由数字、字母、下划线和美元符号组成,第一个字符必须是字母、下划线或美元符号;不能以关键字或保留名命名
5、变量
- 变量相当于容器,值相当于容器内装的东西,变量名就是容器上贴着的标签,通过标签可以找到变量,一遍读、写它存储的值
- 使用变量可以方便的获取或者修改内存中的数据
- ECMAScript的变量是弱类型、动态类型的,就是可以用来保存任何类型的数据
- 变量声明:“ var(关键字) 变量名称 = 数据 ”,等号右边的数据给等号左边的变量名赋值
- 注:声明一个变量没有赋值,则这个变量的值是undefined;可以重复声明变量;可以在一条语句中使用逗号声明多个变量
6、JS语句
- js语句使用分号结尾,不要省略
- 当结尾是“ } ”的时候可以省略分号