前言
本博客仅做学习笔记,如有侵权,联系后即刻更改
科普:
一、JS数据类型
1. 分类
数字、字符串、布尔型、对象类型、数组、null 和 undefined
数字
指整数和浮点数,支持16进制的整数,支持科学记数法
0x1f 表示整数31
2e3 表示2000
可以通过 Math 对象定义的函数来实现复杂运算字符串
字符看成长度为1的字符串,字符串指包含在单引号或者双引号中的文本。
转义字符\
使字符串中的字符不被误认为该字符串的结束符号布尔型:true、false
数组
数据的集合,有对应该数据的索引
可以是不同的数据类型null:是对象,是一个空的对象引用
undefined:表示某个变量没有被赋值
对象类型:指键值对的集合
创建、使用、更改
2. 类型转换
字符串转整数
- parseInt() 方法
- 参数为字符串,结果为该字符串转换而来的整数
- 转化规则:
如果字符串的首字符不是一个数字,转换失败,返回 NaN。
否则,转换到字符串中第一个不是数字的字符止,即,遇到字母、小数点下划线等字符立即停止转换。
需要注意的是,16 进制的符号 0x 不会让转换停止。
parseInt() 还可以有第二个参数,表示待转换字符串的进制。
- Number() 进行强制类型转换
必须是只含有数字的字符串
Number(“”); //返回0字符串转小数
- parseFloat()
只转换到字符串中第一个不是数字的字符为止
当然这个字符不包括第一个小数点- Number()
数字转字符串
- toString()
实现一般的数字转字符串
括号内有一个可选的参数,指以几进制的形式转换该字符串- String() 则是强制类型转换
String() 可以转换 null 和 undefined,而 toString() 不可以
布尔型和其他类型转换
- 布尔型转为字符串直接就是字符串 true 或者 false;
- 布尔型中的 true 转换为数字 1,布尔型中的 false 转换为数字 0;
- 数字 0、null、undefined、空字符串转换为布尔型的 false
其他所有都是转换为 true。隐式转换
- +运算的两个操作数是数字和字符串,数字会被转换为字符串;
- +运算的两个操作数是数字和布尔型,布尔型会被转换为数字;
- +运算的两个操作数是字符串和布尔型,布尔型会被转换为字符串;
- 减、乘、除、取余运算会把其他类型转换为数字;
- if 括号中单独的一个变量会被转换为布尔型。
二、JS运算符
1、算数运算符
分为:+ - * / %运算符,递增运算符++和递减运算符--
2、比较和逻辑运算符
- 比较运算符:,=,>,<,!=,>=
- ==叫做相等,===叫做严格相等
双等号和三等号的区别是:
三等号要求数据类型和值都相等,双等号只需要值相等即可,相等包含严格相等
- 逻辑运算符
- 与或非:
逻辑运算符的操作数只能是布尔型,其他类型都会被转换为布尔型:
除了0,null,undefined,""外,其他的值转换为布尔值都是true
3、条件和赋值运算符
- 条件运算符
- a>b?a:b
三个操作数分别在?的左边、右边以及:的右边
第一个操作数如果是真值,整个表达式返回第二个操作数的值
第一个操作数如果是假值,返回第三个操作数的值
- 赋值运算符=:设置左边变量的值为右边的具体
总结
小小励志
有些事你现在不做,一辈子都不会做了。
如果你想做一件事,全世界都会为你让路。
《搭车去柏林》