Javascript 数据类型
来源:互联网 发布:c语言常用函数 编辑:程序博客网 时间:2024/06/03 20:24
数据类型
Javascript(JS) 的数据类型可以分为两类:原始类型和对象。
原始类型有6种:
布尔 Boolean. 布尔类型与其他语言中的布尔类型一样,表示逻辑实体,只有两个值
true
或false
。Null, 表示“空”,与其他语言中的Null一样, 只有一个值
null
;Undefined, 顾名思义表示 “未定义”, 即一个变量没有被定义类型。因为JS是动态语言,变量的类型是根据赋值类型自动确定的,因此“未定义”也可以理解未赋值。另外也可以用来判断对象中某个属性有没有被定义,函数的参数有没有传入。
Number, 表示数字,与其他语言不同,JS 中不区分整数和浮点数,所有的数都是Number, 表示的数据范围是双精度64位二进制格式值的区间。此外,JS的Number类型还包括3个特殊的值:
+Infinity
,-Infinity
,NaN
. 数据大于范围最大值的为+Infinity
,数据小于数据最小值的为-Infinity
。计算机计算不出的是NaN
。String, 与其他语言一样表示字符串。但是在JS中字符串可以用单引号表示,也可以用双引号表示。
Symol, 表示符号类型,是ES6新引入的。
对象可以看作是一组属性的集合,包括,标准Object,Array,function,Date,以及ES6中引入的Maps,Sets。
标准object,可以采用字面量的方式定义,即
{}
, 也可以采用new Object()
的方式定义。Array,是以索引为键,元素为值对象。可采用字面量的方式定义,即
[]
,也可以采用new Array()
的方式定义。function,是一个具有调功能的对象. 使用关键字“function”定义。
Date,内建对象,采用
new Date()
方式定义一个日期对象。
数据类型判断
采用typeof 运算符判断数据类型:
'''javascripttypeof "a"; // "string"typeof 1; // "number"typeof true; // "boolean"typeof null; // "object"typeof undefined; // "undefined"typeof NaN; // "number"typeof(+Infinity); // "number"typeof({}); // "object"typeof([]); // "object"typeof(function(){}); // "function"'''javascript
typeof 会返回字符串, 两个typeof 连用时会返回 "string"
.
```javascript typeof typeof {};// "string"```javascript
数据类型转换
不同数据类型转布尔类型时,只有以下数据是转为false:
null
undefined
""
NaN
0
其他数据会转为true,常见易引起混淆的有:
+Infinity
-Infinity
[]
{}
"false"
String 类型转换为数字类型,可使用内置的Number对象的方法来实现,也可以使用JS内置的全局函数来实现。
```javascript Number.parseFloat("1.12");//1.12/ Number.parseInt("1.12");//1/ Number("1.12");//1.12/ parseFloat("1.12");//1.12/ parseInt("1.12");//1/```
其中Number()
函数与 parseFloat()
和parseInt()
的区别在于后者转换的是第一个无效字符之前的字符串,而前者是强制转换整个字符串,因此只要字符串中含无效字符,函数就会返回NaN
.
``` javascript parseInt("1.01a");//1 parseFloat("1.01a");//1.01 Number("1.01a");//NaN parseInt("a1.01")//NaN parseFloat("a1.01");//NaN``` javascript
数字转换成String 类型, 使用全局函数String()
或者使用Number
对象方法来实现。其中全局函数只能按照十进制转换。
``` javascript(1).toString();//默认按10进制转换为字符串"1"(3).toString(2);//按2进制转换为字符串"11"(13).toString(8);//按8进制转换为字符串"15"(23).toString(16);//按16进制转换成字符串"17"(1.1).toFixed(2);//转换成小数点后保留2为的字符串 "1.10"(11.11).toPrecision(3);//转换成3位数字的字符串"11.1";String(1);///"1"```javascript
数据的传递
JS中所有原始类型的数据都是按值传递,所有对象都是按地址传递。
``` javascriptvar a=0;var b=a;//将a的值复制了一份给bvar c={a:1};var d=c;//将c地址复制一份给d,c和d指向同一片地址内存d.a=2;console.log(c.a);// 2``` javascript
- JavaScript数据类型
- JavaScript数据类型
- Javascript数据类型
- JavaScript 数据类型
- javascript数据类型
- JavaScript数据类型
- Javascript数据类型
- JavaScript数据类型
- javaScript数据类型
- JavaScript 数据类型
- javascript 数据类型
- javascript数据类型
- javascript数据类型
- JavaScript 数据类型
- javascript数据类型
- JavaScript 数据类型
- JavaScript 数据类型
- javascript数据类型
- jQuery之html()、text()、val()区别
- css简单初始化
- 浅析各类排序算法(五) 插入类排序之希尔排序
- zabbix 安装和添加监控配置
- java第三方登录(微博,QQ)详细代码
- Javascript 数据类型
- SpringMVC的常用注解
- Qt和C语言之间的交互
- 双击dataGridView一行数据,打开一个另一个窗体,并把双击行的数据展示出来
- Java求两个非负整数之间的最大公约数
- hdoj-5104Primes Problem(素数打表)
- jQuery中的队列操作
- 蓝桥杯 算法训练 阶乘
- windows核心编程---内存映射文件