文章目录

  • typeof 操作符的返回值
  • instanceof 关键字

typeof 操作符的返回值

之前找工作的时候遇到的一道笔试题,刚好现在看书的时候又看到了。简单,但也挺容易错的。
“undefined” — 未定义;
“boolean” — 布尔值;
“string” — 字符串;
“number” — 数值;
“object” — 对象或者null;
“function” ---- 函数。

instanceof 关键字

要检测一个变量是不是基本数据类型, typeof 操作符是最佳的工具。
更具体一点,typeof 操作符是确定一个变量是字符串、数值、布尔值,还是 undefined 的最佳工具。

但在检测引用类型的值时,这个操作符的用处并不大,因为通常时候,我们并不是想知道某个值是对象,而是想知道它是什么类型的对象,所以,ECMAScript提供了 instanceof 操作符,其语法如下所示:

result = variable instanceof constructor

如果变量是给定引用类型的实例,那么instanceof 操作符就会返回 true。
例如:

alert(person instanceof Object); // 变量 person 是 Object 吗?alert(colors instanceof Array); // 变量 colors 是 Array 吗?
if (value instanceof Array){ //对数组执行操作
};
//要检测一个值是不是数组,还可以用 Array.isArray()方法
if (Array.isArray(value)){ //对数组执行操作
}alert(pattern instanceof RegExp); // 变量 pattern 是 RegExp 吗?

根据规定,所有引用类型的值都是 Object 的实例。因此,在检测一个引用类型值和 Object 构造函数时,instanceof 操作符始终会返回 true。当然,如果使用 instanceof 操作符检测基本类型的值,则该操作符始终会返回 false,因为基本类型不是对象。

javascript 的七七八八相关推荐

  1. JavaScript 入门哪本书最好?(问、答) 《转载》

    司徒正美,JS魔法师,去哪儿网前端架构师 知乎用户.zinwa.lin.Yang 等人赞同 入门可以看<javascript高级程序设计>与<javascript dom 编程艺术& ...

  2. node-sass改dart-sass and 一些七七八八,实现sass主题色修改

    sass相关七七八八 dart-sass sass SCSS变量 css变量 SCSS数据类型 !default 插值语句 条件语句 @if @for循环 @each循环 @while循环 @impo ...

  3. php js给input的赋值,JavaScript给input的value赋值引发的关于基本类型值和引用类型值问题_javascript技巧...

    在自己做东西时,遇见了一个问题.就拿博客园的首页右边的搜索举例吧,用控制台操作. 现在我需要从另外一个地方将数据传给input,让其在一刷新的时候就显示数据. 这不难啊,于是我按照我的理解做了 代码如 ...

  4. 【AJAX】JavaScript的面向对象

    Ajax中后端数据返回后需要前端通过JavaScript来实现动态数据更新的问题.所以,在Ajax中加深了一遍JavaScript面向对象的印象. 基础部分: JavaScript中创建对象并简单对象 ...

  5. 【JavaScript总结】JavaScript语法基础:JS高级语法

    作用域链: 1.JS中只有函数能够限定作用域的范围: 2.变量处理在制定的函数范围内,还有一个特殊的作用域,就是没有用var 声明的全局作用域 3.js中的作用域链是为了清晰的表示出所有变量的作用范围 ...

  6. 【JavaScript总结】JavaScript语法基础:DOM

    ->DOM的理解:文档对应dom树 ->有了DOM能做什么:DOM的操作 html文档做为DOM树模型,DOM树的节点就是对象.对象会触发事件来执行一些事件代码. C#中的事件是一个委托变 ...

  7. 【JavaScript总结】JavaScript语法基础:JS编码

    运算符 数学:+. -. *. / 逻辑:>. < .>= .<=. == . !=.&&.|| . === .!==(完全等于) 对象相关 new delet ...

  8. 【JavaScript总结】JavaScript语法基础:数据类型

    ------>数据类型有哪些? ->基本类型:数字类型,布尔类型,字符串类型 ->引用类型:对象类型,函数类型 ->空类型:null 和 undefined ->运算符: ...

  9. 【JavaScript总结】JavaScript发展与学习内容

    发展: 最初浏览器是为大学里浏览文档用,从地址栏输入文档地址,找到文档显示. 后来各种需求(购物网站,个人博客)出现,已有功能不能满足需求. 可人们依旧在努力满足这种需求,但实现后的效果很不尽人意. ...

最新文章

  1. 下拉菜单连动效果的一种用法
  2. java面向对象第四章上机_java面向对象第四章
  3. python使用手册-Python参考手册(第4版)
  4. cacti监控下添加对磁盘io的监控方法(Linux主机和Windows主机)
  5. Linux下ssh登录速度慢的解决办法
  6. 通用后台管理系统(ExtJS 4.2 + Spring MVC 3.2 + Hibernate)
  7. SAP历史库存MB5B的详解
  8. zip和unzip上的Java要点
  9. 游戏筑基开发之指针的用途(C语言)
  10. Linux中关于httpd仓库安装的简要步骤
  11. 一个火车上遇到的女孩所引发的联想
  12. java网吧计费系统源码_基于jsp的网吧计费管理系统-JavaEE实现网吧计费管理系统 - java项目源码...
  13. 用VC进行64位编程
  14. CSS入门到精通——表格样式
  15. java detach_java – Spring JpaRepository – Detach和Attach实体
  16. CSS-06天、定位方式、定位(position)的拓展、淘宝轮播图布局、网页布局总结、元素的显示与隐藏、土豆网鼠标经过显示遮罩
  17. 一、安装 1、kafka 需要java环境;(百度网盘地址:https://pan.baidu.com/s/1i3YXtiBH9YYvZn9vQy1g8w 提取码:dot8)
  18. LeetCode.No5——最长回文子串
  19. 【物联网】AT指令|AT返回错误|AT 指令 收发短信和GPRS上网 SIM508/548
  20. 如何充分利用开源项目_充分利用最好的5个开源转移学习项目来增强您的项目...

热门文章

  1. 斯蒂夫乔布斯传 读后感
  2. 【调参15】如何配置神经网络的学习率
  3. win32汇编琢石成器第三章笔记
  4. 漫画:一致性hash算法
  5. 迁移学习论文(三):Multi-Adversarial Domain Adaptation论文原理及复现工作
  6. 使用VS2015 VC++第一步 写一个hello world程序
  7. 采购管理系统--合同、采购单、发货单、返厂单管理
  8. 苹果手机经常开低电量模式,对电池会有影响吗?
  9. MySQL中文乱码问题处理详解
  10. 机器学习入门(03)— 激活函数分类(阶跃函数和 sigmoid 函数的理论、实现、显示以及区别、非线性函数、ReLU 函数、tanh 函数)