龙空技术网

JavaScript 五种基本数据类型(上)

技术很有趣 239

前言:

现时兄弟们对“javascript基本数据类型有”可能比较看重,朋友们都需要知道一些“javascript基本数据类型有”的相关内容。那么小编也在网上收集了一些对于“javascript基本数据类型有””的相关知识,希望你们能喜欢,看官们一起来学习一下吧!

如未作出特殊说明,本文例子均在Chrome控制台进行测试。

一、哪五种基本数据类型?

Null(只有一个值null)

Undefined(只有一个值undefined)

Number(包括小数和整数)

Boolean(两个值:false和true)

String

二、如何判断变量的数据类型?

使用 typeof 运算符,Chrome控制台结果:

typeof "1";"string"typeof 1;"number"typeof 1.1 //浮点数类型也为number"number"typeof true;"boolean"typeof null; //表示空对象指针"object"typeof undefined"undefined"typeof a"undefined"

如何判断变量的数据类型是否为 null?

使用严格等于“===”,比如 :

a === nulltrue

三、类型转换

隐式(自动)类型转换

举例:

"a" + 1"a1"1+1.12.10 && true//可以推测出转化成数字的优先级更高0null +0.10.1null && truenullnull && undefinednull1 + undefinedNaNnull + undefinedNaN

转换场景:

(1)if 语句

var a1 = ' ';if(a1){//a1被转换成false//此处代码不会执行}var a2 =2;if(a2){//a1被转换成true//此处代码会执行}

(2)字符串拼接

所有操作数类型都会被转换成字符串类型,结果也都是字符串类型。

(3)逻辑运算

2&&00'' || 'a'"a"!document.a //document.a为undefined,取反操作将undefined转换为false,因此结果为truetrue“奇技淫巧” :判断一个变量会被当做作false或者true例如:var b = 1024 !!b true

(4)“==” 或者“!=”运算符

 1=='1' true "1"==true// string和boolean类型都转换成number类型,此处均转换成1 true 0==false true 0=='' //0和空字符串都被转换为false true null==undefined //undefined派生于null,关键是两者都被转换成了false true

补充:===运算符不存在类型转换;在判断变量是否为null时使用==运算符做判断即可,其它的都用严格等于===,jquery源码也是这么做的。

if (a == null){ //此处a==null相当于a == null || a== undefined}

标签: #javascript基本数据类型有