详解JavaScript中typeof与instanceof用法

详解JavaScript中typeof与instanceof用法

typeof

typeof 是用于判断一个变量的基本数据类型的关键字,无法判断对象的具体类型。

  • 如果变量是字符串,返回 "string"。
  • 如果变量是数字,返回 "number"。
  • 如果变量是布尔型,返回 "boolean"。
  • 如果变量是对象,返回 "object"。
  • 如果变量是函数,返回 "function"。
  • 如果变量是 undefined ,返回 "undefined"。
  • 如果变量是 null,返回 "object"。

示例1:

console.log(typeof "abc");      // string
console.log(typeof 123);        // number
console.log(typeof true);       // boolean
console.log(typeof {});         // object
console.log(typeof function(){});// function
console.log(typeof undefined);  // undefined
console.log(typeof null);       // object

instanceof

instanceof 运算符用于判断某个实例对象是否属于某个构造函数的类型,可以判断对象的具体类型。

语法:object instanceof constructor

其中 object 是实例对象名称,constructor 是构造函数名称。

实例对象是由构造函数新建的对象,通过 instanceof 可以判断这个实例对象是否属于当前构造函数的类型,返回结果为 truefalse

示例2:

function Person(name, age){
  this.name = name;
  this.age = age;
}
let p1 = new Person('Tom', 20);
console.log(p1 instanceof Person);  // true
console.log(p1 instanceof Object);  // true
console.log(p1 instanceof Array);   // false

在上述示例中,p1 是使用 Person() 构造函数创建出来的对象, p1 instanceof Person 返回 true

p1 也是一个对象,同时通过 instanceof 运算符可以判断该对象是不是 Object() 的实例对象,结果为 true

最后, p1 明显不是数组,所以 p1 instanceof Array 的结果为 false

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解JavaScript中typeof与instanceof用法 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • JS异步堆栈追踪之为什么await胜过Promise

    JS异步堆栈追踪是一项非常重要的技能,它能够帮助我们深入理解JavaScript异步编程模型。在这篇攻略中,我将详细讲解为什么await胜过Promise,并提供两个示例来帮助解释这个问题。 为什么await胜过Promise 在讲解为什么await胜过Promise之前,我们需要先探讨Promise的一些限制。Promise是一种典型的异步编程模型,它可以…

    JavaScript 2023年5月28日
    00
  • JavaScript如何动态监听DOM元素高度详解

    JavaScript如何动态监听DOM元素高度,可以通过以下步骤来完成: 步骤1:首先要获取需要监听高度的DOM元素,并给它设置高度的初始值,可以通过JavaScript代码来实现。 例如,获取ID为box的DOM元素,并设置它的高度初始值为400像素: var box = document.getElementById("box"); …

    JavaScript 2023年6月10日
    00
  • 微信小程序如何调用json数据接口并解析

    下面我来详细讲解如何使用微信小程序调用JSON数据接口,并解析数据。 1. 准备工作 在开始调用JSON数据接口之前,需要先了解以下几个概念: JSON数据:JSON是一种轻量级数据交换格式,易于阅读和编写,常用于数据传输。JSON数据格式通常采用键值对的形式,数据之间用逗号分隔,整个数据用花括号括起来。 HTTP请求:HTTP是一种网络传输协议,常用于we…

    JavaScript 2023年6月11日
    00
  • js 获取json数组里面数组的长度实例

    获取JSON数组里面数组的长度可以使用JavaScript语言中的length属性,具体分为获取根数组长度和获取嵌套数组长度两种情况。 获取根数组长度 首先,需要使用JSON.parse()方法将JSON字符串解析成JavaScript对象。然后,通过对象的length属性获取根数组的长度。 示例代码如下所示: let jsonStr = ‘[{"…

    JavaScript 2023年5月27日
    00
  • Javascript基础教程之数据类型 (字符串 String)

    Javascript基础教程之数据类型(字符串 String) 什么是字符串? 在JavaScript中,字符串是由任何字符组成的一组字符。字符串可以是字母、数字、标点符号等,甚至可以包含空格或其他特殊字符。字符串是JavaScript中最常用的数据类型之一。 JavaScript中的字符串是Unicode字符集中的16位编码单元序列。这意味着每个字符都是由…

    JavaScript 2023年5月28日
    00
  • javascript 正则表达式用法 小结

    JavaScript 正则表达式用法小结 什么是正则表达式 正则表达式是一种用来匹配字符串的模式。在 JavaScript 中,正则表达式可以用来处理字符串的各种操作,比如查找、替换和提取等等。 正则表达式的基本语法 正则表达式由若干个字符和元字符组成,其中元字符用来指定匹配规则。下面是一些常见的元字符和它们的含义: 元字符 含义 . 匹配任意单个字符。 ^…

    JavaScript 2023年5月28日
    00
  • JavaScript实现继承的4种方法总结

    JavaScript实现继承的4种方法总结 在JavaScript中实现继承有多种方法,常见的有原型链继承、借用构造函数继承、组合继承和寄生组合式继承。下面会一一介绍这些方法。 1. 原型链继承 原型链继承是JavaScript中最常见的继承方式,它的实现方式非常简单。我们可以通过将子类(派生类)的原型对象(prototype)设置为父类(基类)的实例对象,…

    JavaScript 2023年6月11日
    00
  • 事件冒泡是什么如何用jquery阻止事件冒泡

    事件冒泡是指在页面元素上触发一个事件后,这个事件会依次从当前元素向上层祖先元素进行传递和执行处理的过程。 如何用jQuery来阻止事件冒泡呢?可以使用stopPropagation方法,它能够阻止事件继续向上层元素传播。 下面是一个示例,在这个示例中,我们有三个div元素,分别是嵌套的关系。我们给每个div元素都绑定了click事件,当点击最后一个div元素…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部