JavaScript 数据类型转换

一、 数据类型转换

Javascript中的变量是松散类型的,可以存储任何支持的数据类型

var x = 200;// x是number类型
x = "I am string";// x是string类型
x = false;// x是boolean类型

Javascript是一门具有动态特性的语言,所以程序在执行的过程中就会出现类型转换的概念。类型转换分为隐式转换和显示转换

1.1 数据类型强制转换(显示转换)

Javascript提供了以下的方法进行转换

转换为数值类型:Number(), parseInt(), parseFloat()

转换为字符串类型:.toString(),String()

转换为布尔类型:Boolean()

1.1.1、Number()

将其他的数据类型转换为Number

var test1 = true;
var test2 = false;
var test3 = null
var test4 = "999";
var test5 = "999abc";
var test6 = undefined;
var test7 = "12.3"

console.log(Number(test1)); // 1
console.log(Number(test2)); // 0
console.log(Number(test3)); // 0
console.log(Number(test4)); // 999
console.log(Number(test5)); // NaN
console.log(Number(test6)); // NaN
console.log(Number(test7)); // 12.3

1.1.2、parseInt()

1)基本用法

parseInt方法用于将其他的数据类型转化为整数。

parseInt('123'); // 123

// 如果字符串头部有空格,空格会被自动去除。
parseInt('   81'); // 81

// 如果`parseInt`的参数不是字符串,则会先转为字符串再转换
parseInt(1.23); // 1
// 等同于
parseInt('1.23'); // 1

// 字符串转为整数的时候,是一个个字符依次转换,如果遇到不能转为数字的字符,就不再进行下去,返回已经转好的部分
parseInt('8a'); // 8
parseInt('12**'); // 12
parseInt('12.34'); // 12
parseInt('15e2'); // 15
parseInt('15px'); // 15

// 如果字符串的第一个字符不能转化为数字,返回`NaN`。(后面跟着数字的正负号除外)
parseInt('abc'); // NaN
parseInt('.3'); // NaN
parseInt(''); // NaN
parseInt('+'); // NaN
parseInt('+1'); // 1

1.1.3、parseFloat()

parseFloat方法用于将一个字符串转为浮点数。

parseFloat('3.14') // 3.14

// 如果字符串包含不能转为浮点数的字符,则不再进行往后转换,返回已经转好的部分。
parseFloat('3.14more non-digit characters') // 3.14

// 如果参数不是字符串,或者字符串的第一个字符不能转化为浮点数,则返回`NaN`
parseFloat('FF2') // NaN
parseFloat('') // NaN

1.1.4、String()

String()可以将数字转换为字符串

var test1 = true;
var test2 = false;
var test3 = null
var test4 = 999;
var test5 = undefined;

console.log(String(test1)); // true
console.log(String(test2)); // false
console.log(String(test3)); // null
console.log(String(test4)); // 999
console.log(String(test5)); // undefined

1.1.5、.toString()

.toString()可以将所有的的数据都转换为字符串,但是要排除null 和 undefined

var num = 10;
console.log(num.toString()); // 10
console.log(typeof (num.toString())) // string

1.1.6、Boolean()

Boolean()可以将任何类型的值转换为布尔值

var num1 = 10;
console.log(Boolean(num1)); // true

var num2 = 200 - "10px"; // NaN
console.log(Boolean(num2)); // false

var num3;
console.log(Boolean(num3)); // false

var num4 = null;
console.log(Boolean(num4)); // false

二、 隐式转换:程序运行的过程中自动进行转换

某些情况下,javascript会自动对数据类型进行转换操作【以下操作了解即可】。

>> isNaN(param);方法用于判断param参数是否不是一个数字,在进行判断的时候会自动调用Number(param)进行转换操作。非数值返回true,否则返回false

  • isNaN();

方法用来判断,指定的数据不是数字【不是数字返回true/否则返回false】

var x = 12;alert(isNaN(x));

>> 递增、递减操作、取正取负操作

>> 加法运算操作

>>乘除、减法运算、取余运算

>> 逻辑运算、关系运算

总结

以上就是今天带你走进从零认识JavaScript到精髓(二)JavaScript 数据类型转换
 会持续更新中......