JS数据类型 以及 数据类型的转换

版权声明:原创文章,未经允许不得转载!!! https://blog.csdn.net/halo1416/article/details/81907347

ECMAScript中将数据类型分为三类:基本数据类型,特殊数据类型和复合(引用)数据类型

一、基本数据类型

String:字符串数据类型,放在单引号或者双引号中

Number:数字类型,包括int和float两种

Boolean: 布尔类型,只有true和false两种值

二、特殊数据类型

undefined:变量声明后但未赋值,其值便为undefined,如:var a;还有一种情况:var a = undefined;

null:表示为空。即对象不存在或给变量赋值为null。(对象不存在就是整个页面中没有这个DOM)

三、复合(应用)数据类型

object:对象,即把一些彼此相关的属性和方法集合在一起构成的一个数据实体。如:

var obj = {
    a : 1,
    b : 2,
    c : 3,
};

array:数组,即一些数据的集合。如

var arr = [1,2,3];

typeof 和 NaN:

typeof:获取变量的数据类型

          如:typeof('123');   ===>> String

                 typeof(123);   ===>> Number

NaN:表示不是数字值的特殊值,可以理解为Number的一种特殊类型,只有当在js运算中发生数据类型转换时提示,isNaN()方法是特有的对数据进行判断的 ,如果是数字返回false,不是数字返回true。

          isNaN用法:isNaN(123)    ===>> 返回false,因为它是数字类型

                               isNaN('123')    ===>> 返回true,因为它不是数字,而是字符串       

数据类型的转换

在js中数据类型转换一般分为两种,即强制类型转换和隐式类型转换(一般是利用运算符完成的)。

强制转换:

toString():转换为字符串类型,但null和undefined除外

String():可以将所有变量转为字符串类型,包括null和undefined                

//toString()使用:
var age = 20;
var ageString = age.toString(); //"20"

var result = true;
var resultString = result.toString(); //"true"

var num = 10;
var numString1 = num.toString(); //"10"

var numString2 = num.toString(10); //"10"
var numString3 = num.toString(8); //"12"

var numString4 = num.toString(16); //"a"
var numString5 = num.toString(2); //"1010"


//String()使用和toString()基本一致,但在转换null和undefined是有所不同
//null.toString(); //报:TypeError: null has no properties
//undefined.toString(); //报:TypeError: undefined has no properties

//String()可以转换null和undefined这两种情况
var numString6 = String(null); //"null"
var numString7 = String(undefined); //"undefined"

parseInt() :转换为整数

var a="123.989sdfsdfkjksdf";
console.log(typeof a);			//String

var b= parseInt(a);				
console.log(b);					//123
console.log(typeof b);			//Number

parseFloat() :转换为浮点型

var c=parseFloat(a);
console.log(c); //123.989
console.log(typeof c); //number

Number():转换为数字

var d=Number(a);
console.log(d); //保留值 NaN (不是数字)
console.log(typeof d);//Number

Boolean():转换为boolean型

var x=-100;
var y=Boolean(x);
console.log(y);//true
console.log(typeof y);//boolean

注:能转换成false值的:false, 0, "", NaN, null, undefined

隐式类型:利用运算符自动完成的转换

var q=100;
var r="200";
console.log(q+r); //把数字q自动转换成了字符串 ==>>100200
console.log(q/r); //把字符串r自动转换成了数字 ==>>0.5

文章仅为本人学习过程的一个记录,仅供参考,如有问题,欢迎指出

猜你喜欢

转载自blog.csdn.net/halo1416/article/details/81907347