数据类型转换
Posted web-tq617
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据类型转换相关的知识,希望对你有一定的参考价值。
数据类型转换
强制转换(显示转换)
number:
- parseInt(); // 数据类型转换为number,数据值转为整数,是一个一个依次解析,所以如果以非数字开头打印出来就是NaN
- parseFloat(); // 数据类型转换为number,数据值转为小数,也是一个一个依次解析,所以如果以非数字开头打印出来就是NaN
- Number(); // 数据类型转换为number,可转换任意数据,是整体解析,所以如果数据不合法,打印则为NaN
Number();如果待转数据是Boolean值,true和false转为1和0;如果是null,返回0;如果是undefined返回NaN;如果是空字符串,返回0
parseInt()和parseFloat()则用于把字符串转换成数值,空字符串,返回NaN
string:
- toString(); // 语法:num.toString();不能转null和undefined
- String(); // 语法:String(num);可以转换任何数据
boolean:
语法:Boolean();
以下六种情况下返回都是flase,其它返回ture
- Boolean("");
- Boolean(null);
- Boolean(undefined);
- Boolean(0);
- Boolean(NaN);
- Boolean(false);
隐式转换
- isNan; // 先隐式按Number转换,再判断
- ++ -- :先隐式按Number转换,再运算
- + :当其中一个数据是字符串时,其它的数据都会按string转换;当所有的数据中没有字符串时,其它的数据都按number转换。把一个数据转成string类型可用(数据+“”)
- - * / % :隐式按Number转换参与运算的值
- 比较运算符(除了===和!==):当两个数不能做比较时,会隐式转换为Number类型,再比较
- !:当这个数不是Boolean类型时,会隐式转换成Boolean类型,再取反。!!可以在不改变数据值得情况下将数据转为Boolean类型
- &&:当操作数不是Boolean类型时,会把第一个数据隐式转换为Boolean类型,如果转换后为true,整体结果则为第二个数,反之,则整体结果为第一个数
- ||:当操作数不是Boolean类型时,会把第一个数据隐式转换为Boolean类型,如果转换后为true,整体结果则为第一个数,反之,则整体结果为第二个数
数据结构:
数组(Array):一组数据的有序列表,属于object类型,可以存任意数据类型的数据
创建数组:1、字面量方式[];如:let arr[]; 2、构造函数方式 new Array();
创建数组并初始化:如,let arr=[1,"fhk",8,null,undefined,true];每个数据用逗号隔开
下标(索引):数组中每个元素的位置 功能:1、查看数据中某个数据 2、增加数据 3、修改数据 4、删除数据 delete arr[2],删除后位置保留,打印显示<1 empty item>
多维数组:如,let arr["a","b",["h"]];,查找“h”可以arr[2][0]
数组的扩展:
- 扩展运算符(...):作用:1、取出可迭代对象的每一项,如,let arr=[1,5,8,3,0];console.log(...arr);返回为15830,可用来复制数组的每一项 2、合并数组,用逗号隔开,如,let arr1=[3,5,7];let arr2=[5];lat arr3=[...arr1,...arr2]; 3、将字符串转换为数组
- 解构:解构赋值,ES6新增的一种批量赋值的操作,如,let [a,b,c]=[3,5,7]; 作用1、按位置把值赋给变量,如,let arr=[3,5,4,2];let[a,b,c,d]=arr; 2、可用于交换两个变量的值,如,let a="蓝",b="黑";[a,b]=[b,a];
- 解构的默认值:let[a=2,c=9]=[];输出为2 9,即为默认值,可更改,let[a=2,c=9]=[0,8];
数组的属性和方法:
属性:length 如,arr.length // 查看数组长度,可以修改数组长度,要清空数组可用length=0,取数组中最后一项用length-1
方法:arr.方法
- push(); // 向数组的末尾添加一个或多个元素,并返回长度
- pop(); // 删除数组中最后一个元素,并返回删除项
- unshift(); // 向数组第一项之前添加元素,并返回新的长度
- shift(); // 删除数组中第一个元素,并返回删除项
- splice(); // 从数组中添加或删除元素,并返回删除元素,括号内可写4个值,第一个值:表示从哪个下标开始操作,第二个值:删除的个数,第二个值之后的值:添加的元素,可以添加任意多个
- join(); // 每个元素之间通过指定的符号拼接在一起,返回值为string类型
- reverse(); // 反序输出
- sort(); // 对数组的元素进行排序,先隐式转换为string类型,在比较大小
以上是关于数据类型转换的主要内容,如果未能解决你的问题,请参考以下文章