java typeof_JavaScript数据类型和typeof()用法

原标题:JavaScript数据类型和typeof()用法

3378e7be91da5b2844c4ae2f63617cff.png

【数据类型】

它主要分为了两种数据类型:基本数据类型和非基本类型(object类型),基本数据类型包括:number,string ,boolean, null,undefined。

【简介】

122d83bc895b550b41fa9db8acbaa40e.png

dd195fa9d09931b08b6b8ef1c8330246.png

Undefined、Null类型

Undefined类型

Undefined类型只有一个值,就是特殊的undefined。在使用var声明变量,但没有对其进行初始化时,这个变量的值就是undefined。

489f4ca50d66e4760eb12d25adf6f136.png

NUll类型

Null 类型是一个只有一个值的数据类型,就是特殊的值Null。它表示一个空对象引用(针)。

ccee43812338d3596f94624eaa5a2570.png

Boolean类型

Boolean类型

Boolean类型有两个值(字面量):true和false。另外Java区分大小写,True和False或者其他都不是Boolean类型的值。

Boolean 表达式

一个值为 true 或者 false 的表达式。

如果需要,非 Boolean 表达式也可以被转换为 Boolean 值,但是要遵循下列规则:所有的对象都被当作 true。

当且仅当字符串为空时,该字符串被当作 false。null 和 undefined 被当作 false。当且仅当数字为零时,该数字被当作 false。

66ca5a3ba166d4767bb25ff25ea8360e.png

Number、String类型

Number类型

Number类型包含两种数值:整型和浮点型。

String类型

String类型用于表示字符串。可以用单引号(‘’)或者双引号(“”)表示。

8df3d5e220babba30eb6cf69a468ab40.png

008f5e7f7bd7c3ba24cccdfbaaa23325.png

Object类型

ECMA中的对象其实就是一组数据和功能的集合。对象可以通过执行new操作符后跟要创建的对象类型的名称来创建。

Object()里面可以任意传参,可以穿数值、字符串、布尔值等。而且,还可以进行相应的计算。

04da8769e0279f12316dc6e78be8c3d3.png

2ddd86fd9df582caefa16bddb617cc9b.png

区别

NaN 、null 和undefined的区别

NaN:保留字(表明数据类型不是数字)

undefined:对象属性或方法不存在,或声明了变量但从未赋值即当你使用了对象未定的属性或者未定义的方法时或当你声明一个变量,但你确从未对其进行赋值,便对其进行操作(当然赋值除外),会有”undefined”提示null 值指出一个变量中没有包含有效的数据。产生 null 的原因是:对一个变量显式地赋值为 null。 包含 null 的表达式之间的任何操作。

【typeof操作符】

说到typeof,我们先来看一下它的定义:typeof运算符返回一个用来表示表达式的数据类型的字符串。

typeof 运算符把类型信息当作字符串返回。

typeof 返回值有六种可能:“number,” “string,” “boolean,” “object,” “function,” 和“undefined.”

51fe7124610ba209b926ad55c9468cf6.png

我们可以使用typeof来获取一个变量是否存在,如if(typeof a!=”undefined”){},而不要去使用if(a)因为如果a不存在(未声明)则会出错,对于Array,Null等特殊对象使用typeof一律返回object,这正是typeof的局限性。

c88bd608186f6a53a9471464c45c9fef.png

返回类型判断

1、问题:在Java中,typeof(undefined) == undefined成立吗?

答案:不成立,全局函数 typeof()返回值类型为字符串类型,六个可能值: "number", "string", "boolean", "object" ,"function", 和"undefined"。只有typeof(undefined) =="undefined";才是成立的。

2、typeof(null) ==‘undefined’成立吗?

答案:不成立,null是Object类型的数据,故typeof(null) == 'object'成立。

3、typeof([1,2]) =='array'成立吗?

答案:不成立,typeof()返回值没有"array" 类型,同样也没有“date”类型。

4、undefined ==undefined成立吗?

答案:成立。

5、null == null成立吗?

答案:成立。

6、NaN == NaN成立吗?

答案:不成立。NaN 不与任何值相等,包括其本身。要检测值是否为 NaN,请使用 isNaN 函数。

7、typeof(NaN) =='number'成立吗?

答案:成立。NaN是属于Number类型的数据。

终上所述,null是Object类型的数据,NaN是Number类型的数据,undefined则是undefined类型的数据,即没有定义,找不到该对象或对象的属性和方法。

总结

对于一些基础知识必须得熟练的掌握,总结真的是必不可的。多读书,多总结。

9094367e20d8a5412fde974369af614f.png

联系我们

87186cc103fe1d51b17b591cab6d79c4.png

邮箱:3460307818@qq.com

廊坊校区地址:廊坊市广阳区文明路与永丰道交叉口志晟创客中心四楼

作者:十三期 郝雨烁

编辑:十四期 刘檬返回搜狐,查看更多

责任编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>