一.在JS中一共有6种数据类型
1. String 字符串
2. Number 数值
3. Boolean 布尔值
4. Null 空值
5. Undefined 未定义
6. Object 对象
其中 String Number Boolean Null Undefined属于基本数据类型,而Object属于引用数据类型
二 .String 字符串
1.在JS中字符串需要使用引号引起来,双引号或单引号都行
2.str变量 "str"字符串
3.引号是不能嵌套的
三.typeof
- 通过typeof可以来检查一个变量的类型
- 语法:typeof 变量
- 它会将检查的结果返回
- 使用typeof检查一个字符串时,会返回string
- 使用typeof检查一个数值时,会返回number
四.
* JS中可以表示的最大的数字
* Number.MAX_VALUE 来获取最大值
* 1.7976931348623157e+308
*
* Number.MIN_VALUE 0以上的最小值
* 5e-324
*
* 如果我们使用的数字超过了最大值,则会返回Infinity,表示无穷
* ±Infinity 正负无穷,它的类型也是Number
*
* 特殊的数字
* NaN (Not A Number)
* - 用来表示一个非法的数字
* - 使用typeof检查一个NaN时,也会返回number
五.进制
需要表示一些其他进制的数字
- 十六进制数字:
0x数字
- 八进制数字
0数字
- 二进制的数字
0b数字 IE不支持 Hbuilder也不支持
var b = 0x10; //十六进制的10
b = 070; //八进制的10
b = 0b10; //二进制的10
六.Boolean
Boolean(布尔值)
- 我们可以使用布尔值来进行逻辑判断
- 布尔值只有两个true和false
- true表示逻辑的真
- false表示逻辑的假
- 使用typeof检查一个布尔值时,会返回boolean
七.
Undefined(未定义)
- Undefined表示一个声明但是没有赋值的变量
- Undefined的类型只有一个值 undefined
- 使用typeof检查一个Undefined类型的数据时,会返回undefined
Null(空值)
- Null类型只有一个值,就是null
- null值专门用来表示为空的对象
- 使用typeof检查一个Null类型的值时,会返回object
八.
将其他的数据类型转换为String
- 方式一:
- 调用被转换数据类型的toString()方法
- toString()方法不会改变原变量的值,而是将值转换为字符串并返回
- 由于null和undefined中没有toString()方法,
所以不能调用toString()将他们转换为字符串
- 方式二:
- 调用String()函数
- 将被转换的数据做为参数传递给String()
- 原理:
- 对于具有toString()方法的类型来说,
String()会调用它们的toString()方法来将其转换为字符串
- 对于null和undefined来说,
会将null 直接转换为 "null"
将undefined 直接转换为 "undefined"
九.
/*
转换为Number
- 方式一:
- 使用Number()函数
- 转换的情况:
1.对于字符串来说
- 如果字符串是一个合法的数字,则将其转换为对应的数字
- 如果字符串不是一个合法的数字,则转换为NaN
- 如果字符串是一个空串或纯空格的字符串,则转换为0
2.对于布尔值来说
- true转换为1
- false转换为0
3.对于Null
- null转换为0
4.对于Undefined
- undefined转换为NaN
* */
var b = "123px";//NaN
b = "123";//123
b = "abc";//NaN
b = ""; //0
b = " "; //0
//调用Number()函数将b转换为数字
b = Number(b);
//布尔值
b = true; //1
b = false; //0
b = Number(b);
//Null
b = null;
b = Number(b);
//Undefined
b = undefined;
b = Number(b);
/*
* 除了使用Number()函数,JS中还为我们提供了两个函数,
* 专门用来将一个字符串转换为数字的
* parseInt()
* - 将一个字符串转换为整数
* - 使用该函数解析字符串时,它会从字符串的左侧开始解析,
* 直到解析到最后一个有效的整数位
* parseFloat()
* - 将一个字符串转换为小数
* - parseFloat()和parseInt()类似
* 不同的是它可以解析到有效的小数位
*/
var c = "456px"; //456
c = "789a678b456"; //789
c = "123.456"; //123
/*
* 像"070"这样的字符串,火狐 chrome等浏览器会当成10进制数字进行解析,转换为70
* 但是IE8,会将其当成8进制的数字解析,解析为56
*
* 在使用parseInt时,可以传递以进制作为参数,来说明数字的进制
*/
c = "070";
//调用parseInt将其转换为Number
c = parseInt(c,10);
/*console.log(c);
console.log(typeof c);*/
var d = "123.45px";//123.45
d = "123.45.67"; //123.45
d = "hello123"; //NaN
d = parseFloat(d);
console.log(d);
console.log(typeof d);
十.
/*
* 转换为Boolean
* - 使用Boolean()函数
* - 转换的情况:
* - 对于数字
* - 除了0和NaN剩下都是true
*
* - 对于字符串
* - 除了空串剩下的都是true
*
* - null和undefined都是false
*
* - 对象默认都是true
*/
var a = 1; //true
a = -100; //true
a = Infinity; //true
a = 0; //false
a = NaN; //false
//调用Boolean()来将a转换为Boolean
a = Boolean(a);
a = "hello"; //true
a = "false"; //true
a = ""; //false
a = " "; //true
a = "0"; //true
a = Boolean(a);
a = null;
a = Boolean(a);
a = undefined;
a = Boolean(a);
原文:https://www.cnblogs.com/liuyi13535496566/p/11925370.html