1. JavaScript是什么?
1.1 简介
1.js是一种运行在客户端(浏览器)的编程语言,实现人机交互效果。
作用:
(1)网页特效(监听用户的一些行为让网页做出对应的反馈)
(2)表单验证(针对表单数据的合法性进行判断)
(3)数据交互(获取后台的数据,渲染到前端)
(4)服务器编程(node.js/next.js)
1.2 组成
2.JavaScript的书写位置
2.1 内部JavaScript
- 直接写在html文档中,用script标签包住
- 规范:script标签写在
</body>上面 - 原因:浏览器会按照代码在文件中的顺序加载HTML,如果先加载的js代码期望修改其下方的HTML,那么它可能由于HTML尚未被加载而失效。因此,将js代码放在HTML页面的底部通常是最好的选择。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<!-- 内部js -->
<script>
//alert可以使页面弹出一个警示框
alert('你好,莎莎~');
</script>
</body>
</html>
2.2 外部JavaScript
<body>
<script src="./my.js">
//中间不要写内容,外部js中间写代码会被忽略
</script>
</body>
2.3 内联JavaScript
3.JS中注释和结束符
3.1 注释
3.2 结束符
4.输入输出语法
4.1 输出
4.2 输入
5.字面量
6.变量
6.1 变量是什么
6.2 变量如何使用
6.2.1 变量声明
6.2.2 变量的赋值
- 声明的时候直接赋值就行
- let不允许多次声明一个变量
- 声明多个变量
let age = 18, uname = '莎莎',但是提倡一个一个声明
6.2.3 let和var的区别
7.数组Array
7.1 基本使用
names.length可以获取长度
8.常量
9.数据类型
计算机世界中的万事成物都是数据。
计算机程序可以处理大量的数据,为了方便数据的管理,将数据分成了不同的类型:
注:通过 typeof 关键字检测数据类型
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JavaScript 基础 - 数据类型</title>
</head>
<body>
<script>
// 检测 1 是什么类型数据,结果为 number
document.write(typeof 1)
</script>
</body>
</html>
9.1数值类型
- 即我们数学中学习到的数字,可以是整数、小数、正数、负数
- NaN代表计算错误,如'pink'- 2,NaN是粘性的,即NaN和什么操作都会返回NaN
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JavaScript 基础 - 数据类型</title>
</head>
<body>
<script>
let score = 100 // 正整数
let price = 12.345 // 小数
let temperature = -40 // 负数
document.write(typeof score) // 结果为 number
document.write(typeof price) // 结果为 number
document.write(typeof temperature) // 结果为 number
</script>
</body>
</html>
JavaScript 中的数值类型与数学中的数字是一样的,分为正数、负数、小数等。
9.2 字符串类型
通过单引号( '') 、双引号( "")或反引号包裹的数据都叫字符串,单引号和双引号没有本质上的区别,推荐使用单引号。
注意事项:
- 无论单引号或是双引号必须成对使用
- 单引号/双引号可以互相嵌套,但是不以自已嵌套自已
- 必要时可以使用转义符
\,输出单引号或双引号
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JavaScript 基础 - 数据类型</title>
</head>
<body>
<script>
let user_name = '小明' // 使用单引号
let gender = "男" // 使用双引号
let str = '123' // 看上去是数字,但是用引号包裹了就成了字符串了
let str1 = '' // 这种情况叫空字符串
documeent.write(typeof user_name) // 结果为 string
documeent.write(typeof gender) // 结果为 string
documeent.write(typeof str) // 结果为 string
</script>
</body>
</html>
9.2.1 模板字符串
9.3 布尔类型
表示肯定或否定时在计算机中对应的是布尔类型数据,它有两个固定的值 true 和 false,表示肯定的数据用 true,表示否定的数据用 false。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JavaScript 基础 - 数据类型</title>
</head>
<body>
<script>
// pink老师帅不帅?回答 是 或 否
let isCool = true // 是的,摔死了!
isCool = false // 不,套马杆的汉子!
document.write(typeof isCool) // 结果为 boolean
</script>
</body>
</html>
9.4 undefined
- 未定义是比较特殊的类型,只有一个值 undefined,只声明变量,不赋值的情况下,变量的默认值为 undefined,一般很少直接为某个变量赋值为 undefined。
- 使用场景:我们开发中经常声明一个变量,等待传送过来的数据,如果我们不知道这个数据是否传递过来,此时我们可以通过检测这个变量是不是undefined,就可以进行判断。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JavaScript 基础 - 数据类型</title>
</head>
<body>
<script>
// 只声明了变量,并末赋值
let tmp;
document.write(typeof tmp) // 结果为 undefined
</script>
</body>
</html>
注:JavaScript 中变量的值决定了变量的数据类型。
9.5 Null类型
10.数据类型转换
10.1 隐式转换
- +'123'就会在控制台输出number型的123