JavaScript简介
JavaScript的组成
- ECMAScript 定义JavaScript的语言规范 ,一般在六月发布,目前(2022.2.18)为es12
- BOM (Browser Object Model) 浏览器对象模型
- DOM (Document Object Model) 文档对象模型
JavaScript的书写位置
<!-- 行内式 -->
<a href="javascript:alert('1');">点击弹出弹框<a/>
<div onclick="alert('1')">点击弹出弹框</div>
<!-- 内嵌式 -->
<script>
alert('1')
</script>
<!--外链式 -->
<script src="index.js"></script>
注释
// 单行注释
/*
多行注释
多行注释
*/
调试输出
1. console.log() // 打印到控制台,可传递多个参数
2. console.dir() // 打印到控制台,打印对象的所有属性和属性值
3. alert() // 弹窗,可传递一个参数
4. confirm() // 确认弹窗,可传递一个参数作为提示文本,返回值:确定为true,取消为false
5. prompt() // 带输入框的弹框,可传递两个参数(提示文本,输入框的内容),返回值:
// 确定为输入框内容或'',取消为null
6. document.write() // 将内容写入文档,可传递多个参数
变量
变量是储存数据的容器,变量名是指向这个容器的标识符
已声明的变量没有赋值则其值为undefined
使用未声明的变量会报错
命名规则
- 变量名可以由数字、字母、英文下划线 “_”、$组成
- 变量名不能由数字开头
- 严格区分大小写
- 不能是保留字和关键字(‘do’ is not allowed as a variable declaration)
命名规范
- 语义化
- 小驼峰命名
- 常量可以全大写用下划线拼接
关键字
- var
可以不赋值
定义的变量可以在定义之前去使用(预解析机制),但值为undefined
可以重复声明,后面的变量会覆盖前面的变量
在函数中定义为局部作用域 - let
可以不赋值
存在块级作用域,只要在{}中定义变量就是 - const
定义的是常量,不能重新赋值
作用域
全局作用域和局部作用域
使用变量时就近访问,找不到会逐级向上查询,没有则报错
严格模式
'use strict' // 指令只允许出现在脚本或函数的开头, 开启严格模式