一、一些基本使用测试

从上述可以看出:

 1、判断一个 变量 是不是对象类型,不能只用 typeof 运算符;

 2、它的返回值一直是一个字符串;

 3、尽管 typeof null === 'object',但是这是错误的

  执行 null instanceof Object,你就会得到一个浏览器报错,这说明 null 并不是 object 类型的。

  

  查找MDN相关资料发现:

    在 javascript 的最初实现中,javascript 的值是由一个 表示该值类型的标签 和 实际的数据的值 表示的。表示 对象 的类型标签是 0。null 代表的是空指针(在大多数平台下为 0x00),因此 null 的类型标签也就成了 0。这是虽然是一个错误,但是ECMAScript 也做过修复但是被驳回了,所以这个错误也就一直存在了。

 二、一些特殊使用测试

从上述可以看出:

  1、typeof 运算符的优先级高于 加法(不是一元加法) 的优先级;

  2、使用 new  运算符创建的的变量,typeof 运算的结果并非全部是 object,new Function() 就是个例外;

  3、let 和 const 在其块级作用域内不会由变量提升,因此使用的时候应多家注意

三、例外情况

  1、正则表达式,查阅MDN发现:

  

  但是我测试的时候发现,谷歌新版本的结果为 object

  

  2、document.all

  

  

最新文章

  1. 解决“LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏”问题
  2. 关于 iOS 10 中 ATS / HTTPS /2017 问题
  3. HW6.25
  4. Nape刚体body.align();
  5. java排序算法-选择排序
  6. C#类型基础——学习笔记一
  7. phpmyadmin出现空password登录被禁止
  8. jQuery判断元素是否显示与隐藏
  9. 撸基础篇系列,JAVA的NIO部分
  10. linux 编译安装PHP模块
  11. BZOJ3224普通平衡树——非旋转treap
  12. hdu 2159FATE(完全背包)
  13. 类和JSP关系
  14. 分布式计算课程补充笔记 part 4
  15. POJ 1328 Radar Installation 贪心 A
  16. 导入其他python文件或者python文件的函数
  17. [开源 .NET 跨平台 Crawler 数据采集 爬虫框架: DotnetSpider] [四] JSON数据解析
  18. 使用spring-rabbit测试RabbitMQ消息确认(发送确认,接收确认)
  19. python打印ms
  20. php 多种输入参数完整性检查

热门文章

  1. 浮动布局demo
  2. python学习笔记(6)——for...in &while
  3. C/C++ char*、char[]
  4. POJ_2195_Going Home
  5. C语言编辑编译及集成开发环境
  6. 02Oracle Database 安装,卸载,系统服务,系统组件及系统表空间
  7. python vars模块
  8. UVA-227 Puzzle(模拟)
  9. PHP 计数排序
  10. ZJU cluster