目录
1.JavaScript介绍
2.JavaScript的书写位置
3.变量
4.数据类型
5.类型转换
6.JavaScript运算符
1.JavaScript介绍
简称JS,是一种浏览器解释型语言,嵌套在HTML文件中交给浏览器解释执行。主要用来实现网页的动态效果,用户交互及前后端的数据传输等。
JS组成
- 核心语法-ECMAScript:规范了JS的基本语法
- 文档对象模型-DOM:Document Object Model ,提供了一系列操作的文档的方法
- 浏览器对象模型-BOM:Browser Object Model,提供了一系列操作浏览器的方法
2.JavaScript的书写位置
- 内部JavaScript:直接写在html文件里,用script标签包住。
注意 :<script></script>标签可以书写在文档的任意位置,书写多次,一旦加载到script标签就会立即执行内部的JS代码。所以我们将script标签写在</body>上面。
- 外部JavaScript:JavaScript代码写在以.js结尾的文件里通过script标签,引入到html页面中。
- 如果 script 标签使用 src 属性引入了某 .js 文件,那么 标签的代码会被忽略
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>title</title>
</head>
<body>
<!-- 外部JavaScript:通过 script 的 src 属性引入独立的 .js 文件 -->
<script src="demo.js">
// 此处的代码会被忽略掉!!!!
alert(666);
</script>
</body>
</html>
3.变量
- 定义: 用于存储程序运行过程中可修改的数据
- 语法 : 使用关键词let声明,自定义变量名
- 命名规范 : 变量名可以由数字,字母,下划线,$组成,禁止以数字开头
- 禁止与关键字冲突
- 变量名严格区分大小写
- 变量名尽量见名知意,多个单词组成采用小驼峰,例如:"userName"
let a // 声明变量
a = 100 // 变量赋值
let b = 200; // 声明的同时赋值
let m, n, k // 同时声明多个变量
m = 10
k = 20
使用注意 :
- 变量使用let关键字声明但未赋值,变量初始值为undefined
- 变量如果省略let关键字,并且未赋值,直接访问会报错
- 变量省略let关键字声明,直接赋值,可正常使用.影响变量作用域
- 使用let关键词重复声明一个变量 会报错
4.数据类型
数值类型-number:JavaScript不区分整数、浮点数等,统一都叫Number。
特殊值:
NaN
是一个特殊的值,它的类型是number
字符串类型-string
通过单引号( '') 、双引号( "")或反引号( ` )包裹的数据都叫字符串
注意事项:
- 无论单引号或是双引号必须成对使用
- 单引号/双引号可以互相嵌套,但是不以自已嵌套自已
- 必要时可以使用转义符
\
,输出单引号或双引号 - 模板字符串:
let age = 81
console.log(`我今年${age}岁了`)
- 布尔类型-boolean
表示肯定或否定时在计算机中对应的是布尔类型数据。它有两个固定的值 true 和 false,表示肯定的数据用 true(真),表示否定的数据用 false(假)。 - 未定义类型-undefined
未定义是比较特殊的类型,只有一个值 undefined。只声明变量,不赋值的情况下,变量的默认值为undefined 含义是未被赋值 - 空类型-null:null表示值为空
5.类型转换
在某些情况下,我们需要将值转换为我们期望的类型,去进行操作。
- 隐式类型转换
- 当字符串与其他数据类型进行"+"运算时,表示字符串的拼接,不再是数学运算。转换规则 :将非字符串类型的数据转换成字符串之后进行拼接,最终结果为字符串
- 除了+以外的算术运算符 比如 - * / 等都会把数据转成数字类型
- 强制类型转换
- 编写程序时过度依靠系统内部的隐式转换是不严禁的,因为隐式转换规律并不清晰,大多是靠经验总结的规律。为了避免因隐式转换带来的问题,通常根逻辑需要对数据进行显示转换。
- 转换为数字型
- Number(数据)
- 转成数字类型
- 如果字符串内容里有非数字,转换失败时结果为NaN
- NaN也是number类型的数据,代表非数字
- parseInt(数据)
- 只保留整数
- parseFloat(数据)
- 可以保留小数
- 转换为字符型:
- String(数据)
- 变量.toString(进制)
6.JavaScript运算符
赋值运算符
= 将右边的值赋给左边变量
- 算数运算符
- 加法
+
, - 减法
-
, - 乘法
*
, - 除法
/
, - 取余
%
, - 求幂
**
- 复合运算符
+= -= *= /= %=
自增或自减运算符
++ -- 变量的自增和自减指的是在自身基础上进行 +1或-1 的操作
注意:
- 自增或自减运算符在单独与变量结合时,放前和放后没有区别
- 如果自增或自减运算符与其他运算符结合使用,要区分前缀和后缀,做前缀,先自加再使用,如果做后缀,先使用再自加
比较运算符
> <
>= <=
==(相等) !=(不相等)
===(全等) !==(不全等)
- 字符串与字符串之间的比较,依次比较每位字符的Unicode码,只要某位字符比较出结果,就返回最终结果
- 其他情况一律将操作数转换为number进行数值比较,如果某一操作数无法转换number,则变成NaN参与比较运算,结果永远是false
- 相等与全等
- 相等 : 不考虑数据类型,只做值的比较(包含自动类型转换)
- 全等 : 要求数据类型一致并且值相等才判断全等
逻辑运算符
- && 逻辑与 条件1&&条件2 (and) 表达式同时成立,最终结果才为true
- || 逻辑或 条件1||条件2 (or) 表达式中只要有一个成立,最终结果即为true
- ! 逻辑非 !条件 (not) 对已有表达式的结果取反