一、typeof的作用

在JavaScript中,变量未经声明就使用,系统是会报错的。但是,typeof却是js中有且仅有的一个特例。

typeof的作用就是用来区分数据类型的,下面先说说typeof的使用方法,以判断n的数据类型为例:

1、typeof n;

2、typeof(n);

这两种方法结果是一样的。


二、typeof返回的数据类型

数据类型包括六大类:其中四种原始数据和两种复杂数据。

原始数据:number、string、boolean、undefined。

复杂数据:object、function。

注意:返回值为字符串,而且全部小写,全部小写,全部小写,重要的事情说三遍。

1、number

console.log(typeof(666));===>number
console.log(typeof(NaN));===>number
console.log(typeof(0));  ===>number

2、string

console.log(typeof('a'));       ===>string
console.log(typeof('undefined'));===>string
console.log(typeof('null'));     ===>string

3、boolean

console.log(typeof(false));===>boolean
console.log(typeof(true)); ===>boolean

4、undefined

两种情况:

  • 变量未经声明
 console.log(typeof(a));===>undefined
  • 变量的值就是undefined
 console.log(typeof(undefined));===>undefined

5、object

    var a = {};//对象console.log(typeof(a)); ===> objectvar b = [];//数组console.log(typeof(b)); ===> objectconsole.log(typeof(null)); ===> object  //特殊的

6、function

var a = function(){};
console.log(typeof(a));===>function

三、转换成布尔型是false的六个

  • null、undefined
  • 数字0和NaN
  • 布尔值中的false
  • 空字符串''
console.log(Boolean(null));     ===>false
console.log(Boolean(undefined));===>false
console.log(Boolean(0));        ===>false
console.log(Boolean(NaN));      ===>false
console.log(Boolean(false));    ===>false
console.log(Boolean(''));       ===>false

可总结为,js中五中基本数据类型undefined、null、布尔型、数字和字符串,外加对象共六中类型中,只有undefinednull、布尔值中的false、数字中的0NaN,和字符串中的空字符串'',共计6种值被转换成false, 其余的都被转换成true

console.log(typeof(null));      ===>object
console.log(typeof(undefined)); ===>undefined
console.log(typeof(0));         ===>number
console.log(typeof(NaN));       ===>number
console.log(typeof(false));     ===>boolean
console.log(typeof(''));        ===>string

注意:

1. console.log(typeof(a));         ===> undefined
2. console.log(typeof(undefined)); ===> undefined
3. console.log(typeof(typeof(a))); ===> string

这是因为1中的typeof(a)返回的undefined是字符串类型,所以3就相当于typeof('undefined'),结果为string。

参考:

1、JavaScript布尔类型及转换------ https://segmentfault.com/a/1190000007274034

2、关于JavaScript中typeof的用法------https://blog.csdn.net/inthuixiang/article/details/78586368

3、https://www.runoob.com/js/js-typeof.html

4、http://www.w3school.com.cn/js/js_datatypes.asp

如果您喜欢编程,或者您需要网站开发、app、小程序等等。。可以加入我们qq群:333530575。

关于JavaScript中typeof的用法相关推荐

  1. JavaScript中typeof的用法

    JavaScript中typeof知多少? typeof运算符介 绍: typeof 是一个一元运算,放在一个运算数之前,运算数可以是任意类型. 它返回值是一个字符串,该字符串说明运算数的类型. 你 ...

  2. javascript 中 console 的用法

    javascript 中 console 的用法 视频 https://www.bilibili.com/video/BV1g7411L751?from=search&seid=1567656 ...

  3. JavaScript中window.open用法实例详解

    本文较为详细的分析了JavaScript中window.open用法.分享给大家供大家参考.具体如下: 复制代码 代码如下: <script LANGUAGE="javascript& ...

  4. javascript 中this 的用法:

    javascript 中this 的用法: 1.<div οnclick="// 可以在里面使用this">division element</div> t ...

  5. JS中typeof的用法

    转载自  JS中typeof的用法 js是一门弱语言,它在声明变量时无需确定变量的类型,js在运行时会自动判断.那么如何判断一个变量的类型呢,js提供了typeof运算符,用来检测一个变量的类型. 1 ...

  6. javascript中call的用法总结

    javascript中call的用法总结 1.使用call方法调用函数并且指定上下文的'this' function greet(){console.log(this.name+",age= ...

  7. javascript 中innerHTML的用法

    javascript 中innerHTML的用法 语法 Object.innerHTML = "HTML";//设置其内容 var html = Object.innerHTML; ...

  8. java typeof_js中typeof的用法汇总

    JavaScript中的typeof其实非常复杂,它可以用来做很多事情,但同时也有很多怪异的表现.本文列举出了它的多个用法,而且还指出了存在的问题以及解决办法. > typeof undefin ...

  9. JavaScript中splice的用法

    JavaScript中的splice主要用来对JS中的数组进行操作,包括删除,添加,替换等,原来的数组会被改变: 删除: array.splice(index,num),返回值为删除内容,array为 ...

最新文章

  1. java jdbc datetime_Java JDBC 操作二进制数据、日期时间
  2. 常见的跑马灯效果,无缝连接。mcake官网公告使用
  3. 人工构造迭代次数高度简并的神经网络训练集
  4. 一句命令行检查cpu个数
  5. C#LeetCode刷题之#83-删除排序链表中的重复元素(Remove Duplicates from Sorted List)
  6. Theano 中文文档 0.9 - 4. 要求
  7. SSH框架下的在线人数统计的一种解决途径
  8. python实现rsa加密解密代码_使用python实现rsa算法代码
  9. Win10:ssh报错:RSA host key for 192.168.3.10 has changed and you have requested strict checking.
  10. 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第6节 Lambda表达式_6_Lambda表达式有参数有返回值的...
  11. python实现音乐播放器_python实现音乐播放器
  12. Spark入门(一)概述
  13. Windows7安装教程
  14. 练习时长一年半,算法蒟蒻的成长记录
  15. Code3 整数反转
  16. 怎么查询dns服务器地址自动获取,如何查看DNS服务器地址以及IP地址
  17. 01-msm8953 单独编译bootloader、kernel和system,以及采用adb fastboot下载镜像的方法
  18. 【两周快速入门pr】三、定格动画制作-基础操作成就你的脑洞
  19. 带七段式数码显示管的自动售卖机设计(verilog自学笔记之有限状态机的设计)
  20. 物联网的七大通信协议

热门文章

  1. 4维俄罗斯方块 java_HTML5边玩边学(九)-俄罗斯方块之数据模型篇
  2. 【论文阅读01】2021 兵棋推演的智能决策技术与挑战 尹奇跃
  3. 【微软 Azure 认知服务】零基础搭建微软 Azure AI 认知服务实验分享
  4. Deepin 微信版本太低无法登录
  5. 天玥系列微型计算机,【简讯】AMD正式发布RX 6000系列显卡;OPPO K7x宣布…
  6. Balsamiq新的感觉
  7. 公司电子企业邮箱注册哪个好,电子企业邮箱怎么写?
  8. ab压测_上传图片进行压测
  9. Java中打印程序执行的开始时间和结束时间
  10. python 微博自动点赞_用 Python 自动定时发微博