JavaScript中的数据类型

JavaScript中的数据类型可以分为两大类:基本数据类型和引用数据类型。基本数据类型包括:number、string、boolean、null、undefined、symbol。引用数据类型包括:侠义对象(object)、函数、数组。其中基本数据类型中的symbol是在ECMAScript6中新增的一种数据类型。

JavaScript语言是弱类型语言或者说是一种动态类型语言:声明变量时不用指定变量的类型,JavaScript会在运行时自动判断变量的类型,这就意味着一个变量可以保存多种类型。

	var  a;
	a = 0; //a 在这里是number
	a = "1"; //a在这里是string
	a = true; //a 在这里是boolean

明显不同于Java等语言,Java在声明变量时会指定变量的类型,以后如果赋值为其他类型会报错。

基本数据类型是按值访问的,值是不可变的
引用数据类型是按引用访问的,值是可以修改的

	var a = 1;
	var b = 1;
	console.log(a === b);//这里输出:true
	a = b;
	b = 2;
	console.log(a);//这里输出1,a的值不可变

再看下面引用类型的例子:

	var a = {};
	var b = {};
	console.log(a===b); //这里输出false
	a = b;
	b.name = "hello";
	console.log(a.name);//这里输出hello

引用数据类型变量其实保存的是对象在内存中的引用地址,上面例子中把b赋值给a 就是把b中保存的对象引用地址赋值给了a,所以a和b指向了同一个对象。
基本数据类型和引用数据类型可以用一个简单的举例说明:
房间1的门牌号是a,房间2的门牌号是b,如果是基本数据类型:a和b数据就在对应的房间中的,通过门牌号a和b就可以直接找到对应的数据;而如果是引用数据类型:门牌号为a和b的两个房间中保存的是想要找的对象的地址,拿到这个地址之后再去其他房间找对应的对象。

Number:
JavaScript中只有一种数字类型,包括了整数、小数。
其他的数据类型可以通过Number()、parseInt()、parseFloat()等转换为Number。

	var str = "10";
	console.log(Number(str));//输出数字10
	var str1 = "10.1";
	console.log(parseInt(str1));//这里输出10,会忽略小数位
	console.log(parseFloat(str1));//这里输出10.1

对于把boolean转换为number:如果使用的是parseInt()或者parseFloat()得到的是NaN,而如果使用Number(),true得到的是1,false得到的是0。

	var b = true;
	console.log(parseInt(b));//Nan
	console.log(Number(b));//数字1

String:
JavaScript中的字符串有两种代码实现方式:" " 或者 ’ ’ ;并且可以互相且套。

	var str1 = "abc";
	var str2 = 'abc';
	var str3 = ”abc'123'“;//这里是字符串abc'123'
	var str4 = 'abc"123"';//这里是字符串abc"123"
	var str5 = "abc\"123\"";// ""中且套" "必须加转义字符 \ ;不然会报错
	var str6 = 'abc\'123\'';// ''中且套'' 也需要加转义字符。

其他数据类型可以通过toSting()函数转换为String类型,而且toString()可以携带参数表示转换为对应的进制字符串。

	var intA = 10;
	console.log(intA.toString());//这里输出字符串10
	console.log(intA.toString(2));//这里输出10的二进制字符串"1010";

Boolean:
Boolean是JavaScript中逻辑实体。只有两种值:true或者false。
其他数据类型可以通过Boolean()函数转换为boolean数据类型,其中所有的字符串转换为boolean的时候都是true;数字中除了0和特殊的NaN会转换为false外,其他都是true;

	var a = 1;
	console.log(Boolean(a));//这里输出true;
	var b = 0;
	console.log(b);//这里输出false
	var c = "abc";
	console.log(c);//这里输出true
	console.log(Nan);//false

Undefined:
Undefined类型只有一个值:undefined。所有声明后没有赋值的数据都是undefined。

var a;
console.log(a);//undefined

在JavaScript中可以通过 typeof 来判断当前数据的类型:

	var a = 10;
	console.log(typeof a); // number
	var b = "10";
	console.log(typeof b); // string
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值