1.JavaScript介绍
1.1JavaScript是什么
javaScript:是一种运行在客户端(浏览器)的编程语言,实现人机交互效果。
作用
网页特效(监听用户的一些行为让网页做出对应的反馈)
表单验证(针对表单数据的合法性进行判断)
数据交互(获取后台的数据,渲染到前端)
服务端编程
JavaScript的组成
ECMAScript:规定JS基础语法核心知识。如:变量,分支语句,循环语句,对象等
Web APIs:由下面组成
DOM操作文档(对页面元素进行移动,大小,添加删除等操作)
BOM操作浏览器(页面弹窗,检测窗口宽度,存储数据到浏览器)
1.2JavaScript书写位置
内部JS
直接写在html文件内,用script标签包住(写在</body>上面)
![](https://img-blog.csdnimg.cn/img_convert/2260a3593ddfae9d7e12d74d4a6d3280.png)
注意事项:
将<script>放在HTML文件底部,是因为浏览器会按照代码在文件中的顺序加载HTML,防止由于HTML尚未加载而失效
外部JS
代码写在以.js结尾的文件里
语法:通过script标签,引入到html页面中
![](https://img-blog.csdnimg.cn/img_convert/0ecfc6201889a02b59966112f11052fe.png)
内联JS
代码写在标签内部
单行注释:
符号://
快捷键:ctrl+/
![](https://img-blog.csdnimg.cn/img_convert/b27f4b1119d9302fabc6852ad84b8079.png)
块注释:
符号:/* */
快捷键:shift+alt+a
![](https://img-blog.csdnimg.cn/img_convert/50982e290d8c3d552a2b8e0c4e0f855b.png)
结束符(可不加;):
符号:使用英文;代表语句结束
1.3JavaScript输入输出语法
输出语法:
语法1:document.write('输出内容')
作用:向body内输出内容
注意:如果输出的内容是标签,也会被解析成网页元素
![](https://img-blog.csdnimg.cn/img_convert/e58c4ace97178b471eea5dc2f4239dba.png)
语法2:alert('输出内容')
作用:页面弹出警告对话框
![](https://img-blog.csdnimg.cn/img_convert/68cd9881c7cafd507975bbd9a30b4ae5.png)
语法3:console.log('控制台打印')
作用:控制台输出语法,程序员调试使用
![](https://img-blog.csdnimg.cn/img_convert/a8962a019d3d24b61f0301ac34c0def8.png)
输入语法:
语法:prompt('输入内容')
![](https://img-blog.csdnimg.cn/img_convert/672743753596086ae720357d8ff9b7e3.png)
JavaScript代码执行顺序:
按照HTML文档流顺序执行JavaScript代码,alert('')和prompt('')会跳过页面渲染鲜先被执行
1.4字面量
在计算机科学中,字面量(literal)是在计算机中描述事/物
如:18-数字字面量,[ ]-对象字面量,
2.变量
2.1变量是什么
1.变量:计算机中用来存放数据的容器
2.2变量基本使用
声明变量:
语法: let 变量名(声明关键字,变量名)
注意:let不允许多次声明一个变量
![](https://img-blog.csdnimg.cn/img_convert/bd4290063c227533280cd8dc47f869b8.png)
2.变量赋值:
![](https://img-blog.csdnimg.cn/img_convert/be0b1157797efede63f7b46a8fcc1895.png)
也可在声明过程中直接完成赋值操作(变量初始化)
![](https://img-blog.csdnimg.cn/img_convert/7d994950dd495c6c724dfc828e4af487.png)
3.更新变量
![](https://img-blog.csdnimg.cn/img_convert/3210807603cbf2408e57f2c690c17581.png)
4.声明多个变量:
![](https://img-blog.csdnimg.cn/img_convert/4dc53cd7a89a1306e5782b87a0923976.png)
不推荐,建议一行一个
5.let与var的区别:
a.var可以先使用再声明
b.var声明过的变量可以重复声明
2.3变量的本质
变量的本质:
内存:计算机中存储数据的地方,相当于一个空间
变量本质:程序在内存中申请的一块用来存放数据的小空间
2.4变量命名与规范
规则
a.不能用关键字
b.只有下划线,字母,数字,$符号且数字不能开头
c.严格遵守大小写
规范
a.起名有意义
b.小驼峰命名法,第一个单词首字母小写,后面每个单词首字母大写
2.5变量拓展-数组
声明语法:
let 数组名 = [ 数据1,.......数据n ]
![](https://img-blog.csdnimg.cn/img_convert/7092d832e35191724447ef9a0a84cfaf.png)
长度:数组长度 (数组名.length)
3. 常量
3.1常量的基本使用
概念:使用const声明的变量称为“常量”
注意:常量不允许重新赋值,声明的时候必须赋值(初始化)
![](https://img-blog.csdnimg.cn/img_convert/067567f6f9c458c9544590a3ebd50440.png)
4. 数据类型
4.1基本数据类型
number 数字型:整数,小数,正负数。
![](https://img-blog.csdnimg.cn/img_convert/6d81891e85f862186a57772c7701eaaa.png)
NaN:代表计算错误,它是一个不正确的或未定义的数学操作所得到的结果
![](https://img-blog.csdnimg.cn/img_convert/ede002b29ef0195118ac9efa29fa29f2.png)
特点:具有粘性,任何对NaN的操作都会返回NaN
![](https://img-blog.csdnimg.cn/img_convert/8fab9d691ca6b4e22be989f4e565386a.png)
string字符串型:通过双引号(“”)单引号(‘ ’推荐使用)或反引号(`)包裹的数据都叫字符串
![](https://img-blog.csdnimg.cn/img_convert/2e876bd17349b0c20144240273ca1966.png)
字符串拼接:‘+’数字相加,字符相连(只要有字符串就相连)
![](https://img-blog.csdnimg.cn/img_convert/1527b1f15d51c157c1c40bd7c68c969b.png)
模板字符串:用于字符串和变量拼接
语法:外面:` `(反引号)里面:${ 变量名}
![](https://img-blog.csdnimg.cn/img_convert/d65a09f199bffff71fec8db33389f043.png)
boolean布尔型:只有两个值true和false
![](https://img-blog.csdnimg.cn/img_convert/63e7995315f1d3b6a7f306d667f98326.png)
undefined未定义型:只有一个值undefined,只声明变量,但未赋值就为未定义类型
![](https://img-blog.csdnimg.cn/img_convert/569fe50e344da73c0ab3b83cf2f48046.png)
null空类型:与undefined区别为null赋值了但为空
使用场景:变量里面存放对象,但还未准备好对象时用null
![](https://img-blog.csdnimg.cn/img_convert/a7099f20557193000d63de06bd4a8a9e.png)
![](https://img-blog.csdnimg.cn/img_convert/d492f587f9636eccfa6718922275e638.png)
检测数据类型:typeof x
![](https://img-blog.csdnimg.cn/img_convert/142c769234c97d3b3ca4f1d31aaf483f.png)
4.2 引用数据类型
object对象
5. 类型转换
类型转换原因:使用表单,prompt获取过来的数据默认是字符串类型的。
5.1隐式转换:
某些运算符被执行时,系统内部自动将数据类型转换
规则:
+两边只要有一个是字符串,都会把另一个转换为字符串
-,*,/都会把类型转换为数字类型
![](https://img-blog.csdnimg.cn/img_convert/41cbfb425e6c1873963730ab4d565ba1.png)
小技巧:
a.+号作为正号解析可以转化为数字型
b.任何数据和字符串相加结果都是字符串
5.2显示转化:
转换为数字型:
a.Number(数据):内容中有非数字,转换失败结果为NaN
b.parseInt(数据):只保留整数
c.parseFloat(数据):可以保留小数
注意:parseInt和parseFloat都是从前向后取数,若为前面非数字型则直接为NaN
![](https://img-blog.csdnimg.cn/img_convert/04c1bd3dd5d4d52bd2d8e1e3928ee84b.png)