1. JS 三大组成
- ECMAScript
- DOM
- BOM
1. ECMAScript : ECMAScript规定了JS的编程语法和基础核心知识,是所有浏览器厂商共同遵守的一套JS语法工业标准。
2. DOM-文档对象模型:是W3C组织推荐的处理可扩展标记语言的标准编程接口通过DOM提供的接口可以对页面上的各种元素进行操作(大小、位置、颜色等)。
3. BOM-浏览器对象模型: 提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。通过BOM可以操作浏览器窗口,比如弹出框、控制浏览器跳转、获取分辨率等。
2. JS初体验
行内式JS
- 可以将单行或少量JS代码写在HTML标签的事件属性中(以on开头的属性) ,如: onclick
- 注意单双引号的使用:在HEML中我们推荐使用双引号,JS中我们推荐使用单引号。
- 可读性差,在html中编写JS大量代码时,不方便阅读;引号易错,引号多层嵌套匹配时,非常容易弄混;
- 特殊情况下使用
内嵌式JS (常用)
外部JS文件(常用)
- 利于HTML页面代码结构化,把大段JS代码独立到HTML页面之外,既美观,也方便文件级别的复用
- ==引用外部JS文件的script标签中间不可写代码==
- 适合于JS代码量比较大的情况
快捷键:
- 单行注释:ctrl + /
- 多行注释:shift + alt + a
- 多行注释:在vscode中修改多行注释的快捷键:ctrl + shift + /
3. JS 输入输出语句
<script>
// 这是一个输入框
prompt('请输入您的年龄')
// alert 弹出警示框 (输出的 展示给用户的)
alert('计算结果错误')
// console 控制台输出 给程序员测试用的
console.log('我是程序员能看到的')
</script>
4. 变量
本质:变量是程序在内存中申请的一块用来存放数据的空间。
变量的初始化:声明并赋值。
<script>
// 1. 更新变量
var myname = 'lsy';
console.log(myname);
myname = 'mn';
console.log(myname);
// 2. 声明多个变量
var age = 18, address = '火影村', gz = 2000;
// 3. 声明变量的特殊情况
// 3.1 只声明不赋值 输出,结果是undefined 未定义的
var sex;
console.log(sex);
// 3.2 不声明不赋值 输出,直接报错
// console.log(tel);
// 3.3 不声明直接赋值使用,可以输出110
qq = 110;
console.log(qq);
</script>
5. 命名规范
- 由字母(A—Za—z)、数字(0—9)、下划线()、美元符号(5)组成,如: usrAge, num01,_name。
- 严格区分大小写。var app;和var App;是两个变量。
- 不能以数字开头。18age是错误的
- 不能是关键字、保留字。例如: var, for, while
- 变量名必须有意义。MMD BBD nl— age
- 遵守驼峰命名法。首字母小写,后面单词的首字母需要大写。myFirstName推荐翻译网站:有道爱词霸
- 尽量不要使用
name
作为变量名
6. 数据类型
JavaScript 是一种弱类型 / 动态语言
在代码运行时,变量的数据类型是由JS引擎根据 = 右边变量值的数据类型来判断的,运行完毕后,变量就去掉了数据类型。
JavaScript 拥有动态类型,同时也意味着相同的变量可用作不同的类型: var x = 6; //x为数字 var x = "bill"; //x 为字符串
6.1 数据类型的分类
6.1.1 简单数据类型:
简单数据类型 | 说明 | 默认值 |
---|---|---|
Number | 数字型,包含整型值和浮点型值,如21、0.21 | 0 |
Boolean | 布尔值类型,如true、false,等价于1和0 | false |
String | 字符串类型,如"张三",注意咱们js里面,字符串都带引号 | “ ” |
Undefined | var a; 声明了变量a但是没有给值,此时a= undefined | undefined |
Null | var a=null;声明了变量a为空值 | null |
JavaScript中数值的最大最小值:
- 最大值:Number.MAX_VALUE,这个值为:1.797631348623157e+308
- 最小值:Number.MIN_VALUE,这个值为:5e-32
数字型的三个特殊值:
- alert(Infinity); 代表无穷大,大于任何数值
- alert(-Infinity); 代表无穷小,小于任何数值
- alert(NaN); Not a number,代表一个非数值
<script>
// int num = 10; java
//var num; //这里的num我们不确定属于哪种数据类型
var num = 10; //num属于数字类型
//js 的变量数据类型是只有程序在运行过程中,根据等号右边的值来确定的
var str = 'lsy'; //str是字符串类型
// 数字型的最大值
console.log(Number.MAX_VALUE);
// 数字型的最小值
console.log(Number.MIN_VALUE);
// 无穷大
console.log(Number.MAX_VALUE * 2);
// 无穷小
console.log(-Number.MAX_VALUE * 2);
// 非数字
console.log('lsy' - 10);
</script>
1. 数字型 number:isNaN
<script>