JavaScript语言基础之数据类型(二)
# 一、JavaScript中基本的数据类型
查看数据类型用:typeof 变量名
Javascript的数据类型有六种(ES6新增了第七种Symbol)
-
JS中的值有两种类型:原始类型(
Primitive)、对象类型(Object)。 -
原始类型包括:
Undefined、Null、Boolean、Number和String等五种。 -
Undefined类型和Null类型的都只有一个值,即undefined和null;Boolean类型有两个值:true和false;Number类型的值有很多很多;String类型的值理论上有无数个。 -
所有对象都有
valueOf()和toString()方法,它们继承自Object,当然也可能被子类重写
- 数值(
number):整数和小数(比如1和3.14) - 字符串(
string):字符组成的文本(比如"Hello World") - 布尔值(
boolean):true(真)和false(假)两个特定值 undefined:表示 未定义 或不存在,即此处目前没有任何值null:表示空缺,即此处应该有一个值,但目前为空- 对象(
object):各种值组成的集合
通常,我们将数值、字符串、布尔值称为原始类型(primitive type)的值,即它们是最基本的数据类型,不能再细分了。而将对象称为合成类型(complex type)的值,因为一个对象往往是多个原始类型的值的合成,可以看作是一个存放各种值的容器。至于undefined和null,一般将它们看成两个特殊值
# 二、数据类型的转换
-
转换函数
-
toString()转换为字符串,在JavaScript中所有数据类型都可以转换为string类型
```javascript
var n1 = 12;
var n2 = true;
var a = [1, 2, 3];
var o = {};
function f(){}
n1.toString(); //"12"
n2.toString(); //"true"
a.toString(); //"1,2,3"
o.toString(); //"[object Object]"
f.toString(); //"function f(){}"
```
parseInt()解析出一个string或者number类型的整数部分,如果没有可以转换的部分,则返回NaN(not a number)
```javascript
var n1 = "12";
var n2 = "23hello";
var n3 = "hello";
parseInt(n1); //12
parseInt(n2); //23
parseInt(n3); //NaN
```
parseFloat()解析出一个string的浮点数部分,如果没有可以转换的部分,则返回NaN(not a number)
```javascript
var n1 = "1.2.3";
var n2 = "1.2hello"
var n3 = "hello"
parseFloat(n1); //1.2
parseFloat(n2); //1.2
parseFloat(n3); //NaN
```
-
强制类型转换
-
Boolean(value)- 把给定的值转换成Boolean型Boolean(123); //true Boolean(""); //false Boolean([]); //true Boolean({}); //true Boolean(null); //false Boolean(undefined); //false@前端进阶之旅: 代码已经复制到剪贴板 -
Number(value)-把给定的值转换成数字(可以是整数或浮点数)Number("123"); //123 Number("123h"); //NaN Number(true); //1 Number(false); //0 Number(undefined); //NaN Number(null); //0 Number([]);
-