


javascript Column detection method and tool method written based on jquery.
Introduction
Today we are mainly studying the four type detection methods of js. When it comes to js type detection, we have to mention js There are several data types. The types will not be explained in detail. After all, the documents are clear, so we will just list them:
Document address:
Basic data type: String , Boolean, undefined, null, Number, Symbol, BigInt
Reference data types: Object, Array, RegExp...
The detection types we are talking about today include the following four types and Finally, a more convenient tool method written based on jquery:
typeof [Key point]
instanceof
constructor
Object.prototype.toString.call [Key]
typeof
1 . Basic content
Definition
: Operator that can detect basic typesSyntax
: typeof [value]Return value
: ["string", "number", "boolean", "undefined", "object", "function", " symbol", "bigint"]
The result is as shown in the figure:
2. Defects and deficiencies
Although it seems that typeof is very easy to use, we generally know that useful things always have certain flaws, just like people can't be very useful. Perfect
- 1. Typeof detects basic types perfectly, but reference types can explode in place, such as
array objects, regular objects, and new digital objects.. .... All returned are Object
- 2 in the form of strings. For example,
NaN / Infinity
are both "number" - 3.
typeof null is "object"
The result is as shown in the figure:
let x = {};
if(x != null && typeof x === "object"){
判断是否是对象,由于typeof null也是返回object,因此要排除它
}复制代码
instanceof
1. Basic contentThe result is as shown in the figure Display: [Note] {} will be treated as a code block here, so the first line will report an error
- Definition
: Used to detect whether the prototype attribute of the constructor appears in an instance object On the prototype chain.
- Syntax
: object instanceof constructor
- Return value
: Boolean value
2 . 缺陷与不足
- 1 . 无法检测基本类型,返回的都是false ,只能检测引用类型
- 2 . 由于instanceof是根据原型来检测类型的,返回值也是布尔类型,因此无法直观的看出数据类型
- 3 . 因为原型可以更改,有时候利用instanceof来判断不一定十分准确
结果如图所示 :
constructor
1 . 基本内容
定义
: 通过构造器来判断类型。语法
: target.constructor == "类型名字"
结果如图所示 :
2 . 缺陷与不足
- 1 . 原理基本和instanceof一样,都是根据原型判断
Object.prototype.toString.call()
1 . 基本内容
定义
: 返回一个表示该对象的字符串。语法
: Object.prototype.toString.call(params)返回值
: "[object 类型]"
结果如图所示 :
2 . 基本原理
Object.prototype.toString.call()中“[object 类型]”返回的值是由
Symbol.toStringTag
决定
如图所示:
根据jquery写出的判断方法
1.代码实现
var class2type = {}; ["Boolean","Number","String","Function","Array","Date","RegExp","Object","Error","Symbol","BigInt","GeneratorFunction"].forEach(item=>{ class2type["[object "+item+"]"] = item.toLowerCase(); }) function toType(obj){ if(obj==null){ return obj+''; } return typeof obj === "object" || typeof obj === "function" ? class2type[toString.call(obj)] || "object" : typeof obj; }复制代码
最后,由于第一次写文章,有些紧张,如有写的不好之处请指出来,作者会继续努力写文章总结,一起加油!打工人!!!
相关免费学习推荐:JavaScript(视频)
The above is the detailed content of Introducing four types of js detection methods and tool methods written based on jquery. For more information, please follow other related articles on the PHP Chinese website!

去掉重复并排序的方法:1、使用“Array.from(new Set(arr))”或者“[…new Set(arr)]”语句,去掉数组中的重复元素,返回去重后的新数组;2、利用sort()对去重数组进行排序,语法“去重数组.sort()”。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于Symbol类型、隐藏属性及全局注册表的相关问题,包括了Symbol类型的描述、Symbol不会隐式转字符串等问题,下面一起来看一下,希望对大家有帮助。

怎么制作文字轮播与图片轮播?大家第一想到的是不是利用js,其实利用纯CSS也能实现文字轮播与图片轮播,下面来看看实现方法,希望对大家有所帮助!

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于对象的构造函数和new操作符,构造函数是所有对象的成员方法中,最早被调用的那个,下面一起来看一下吧,希望对大家有帮助。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于面向对象的相关问题,包括了属性描述符、数据描述符、存取描述符等等内容,下面一起来看一下,希望对大家有帮助。

方法:1、利用“点击元素对象.unbind("click");”方法,该方法可以移除被选元素的事件处理程序;2、利用“点击元素对象.off("click");”方法,该方法可以移除通过on()方法添加的事件处理程序。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于BOM操作的相关问题,包括了window对象的常见事件、JavaScript执行机制等等相关内容,下面一起来看一下,希望对大家有帮助。

foreach不是es6的方法。foreach是es3中一个遍历数组的方法,可以调用数组的每个元素,并将元素传给回调函数进行处理,语法“array.forEach(function(当前元素,索引,数组){...})”;该方法不处理空数组。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

WebStorm Mac version
Useful JavaScript development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

SublimeText3 Chinese version
Chinese version, very easy to use

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

Dreamweaver Mac version
Visual web development tools
