JS中的8中数据类型
值类型: 引用类型:
- Boolean 布尔型 - Object 对象类型 null 值的是空引用
- Number 数字型 - Symbol 符号类型
- String 字符串 - Null 类型 特殊的一种引用类型
- BigInt 长整数
口诀: 四基两空双一
四基: Number、String、 Boolean 、 BigInt
两空: undefined 、 null
双一: 一个符号 Symbol 一个对象 Object
json对象(花括号对象):
json对象的创建利用 { } 进行创建
json对象中数据的存储采用键值对的方式, key:value ,其中key的数据类型必须是字符串,value可以是任何的合法数据类型!
json对象中多个属性值使用逗号分隔
大多数时候,js允许省略key的引号或者双引号,省略的前提是属性名的命名符合标识符的命名规则
利用js所提供一个运算符 typeof 类型检测
语法: typeof 数据
json对象的序列化和反序列化
序列化:将一个合法的json对象,转换为一段标准的json格式的数据 JSON.StringIfy()
反序列化:将一段标准的json格式的数据,字符串转化为一个合法的json对象 JSON.parse()
序列化 如图:
反序列化 如图:
数据类型的转换
数据的类型转换:将某个数据的类型通过某种方式转换为另一种数据类型
数据转换通过方式不同可以分为:强制转换、隐式转换
强制转换:人为的通过手段去改变一个数据的类型
比如: number ==> string
隐式转换:没有人为的参与,是程序解析自动进行转换
补充:除了Number()函数可以强制转换其他数据为Number类型外,还有两种手段
全局函数: parseInt() parseFloat()
运算符
算术运算符: + 、 - 、 * 、 / 、%(模运算,取余)、**(幂运算)
赋值运算符: = 强调赋值运算符,不是数学意义上的等于符号!它是赋值运算!
复合赋值运算符:+= 、 -= 、 /= 、 %= 、 **= 、*=
比较运算符:用于对两个数据进行数据的比较,其比较结果为布尔值!true 或 false
> 、< 、 >= 、<=、 ==、 ===、 != 、!==
逻辑运算符:&&(与) ||(或) !(非,取反)
自增、自减:++ 、 --
条件运算符(三目运算符):表达式?结果1:结果2
单目运算符: ! 、 typeof ... 注:单目运算的操作数只有一个
逗号运算符:始终将最后一个,号表达式的值最后整个逗号表达式的运算结果
流程控制语句
js中的三大流程控制结构:
顺序结构: 整体代码的解析执行是按照从上往下!的规律进行执行!也是最基础的控制结构
选择结构: 为代码的执行提供可能的路径!影响代码的走向
if 单分支 if...else 双分支 if...else...if 多分支 switch 条件多分支
循环结构: 重复的执行某一段代码
while语句 do...while语句 for语句
continue 和 break关键字
两个关键字可以使得循环提前结束
break关键字:直接结束当前包含break的循环语句 进入下一个步骤
continue关键字:该关键字也可以结束循环,但是它只是结束该循环的本次内容,后续的循环继续执行
什么是 API
API 是 Application Programming Interface 的缩写,翻译过来就是 “应用程序编程接口”
API 是提供一些用于编程工具,对于 js 来说,API 可以是某框架提供的变量或函数,也可以是网络上的一个可访问的 url 地址,称为网络接口
API 既然是编程工具,那么其作用是通过调用 API 来实现一个功能,例如:排序,查询,添加数据等操作
alert 弹窗提示 浏览器提供的 api 弹窗提示alert 它会阻塞页面的渲染和执行
confirm 确认模态 弹出框 浏览器提供的 还具备返回值
prompt 输入模态
上述api多用于调试
利用document身上的方法可以获取到页面中的元素
document是对象,那么对应的对象上是存在 属性或者方法的
1.document.querySelector()
2.document.querySelectorAll()
3.document.getElementById() 通过元素的id属性值进行获取!
4.document.getElementsByClassName() 通过元素的class属性值进行获取
5. document.getElementsByTagName() 通过元素的标签名进行获取
利用点语法或者 [ ] 是可以获取元素对象上所有已知或未知属性的值!除了class属性的值不能正常获取
innerHTML 和 innerText
innerHTML是用于更改元素的标签体的内容,合法的字符会被浏览器自动解析为标签
innerText是用于更改元素的文本信息,该文本信息是不会被浏览器当作标签来正常解析的
数组
数组是存储一组数据的一个容器,数组,是属于Object类型,通过type