首页 > 试题广场 >

说一说JavaScript有几种方法判断变量的类型?

[问答题]
说一说JavaScript有几种方法判断变量的类型?
1. typeof(根据二进制判断),不能判断数据类型:null和object 2. intanceof(根据原型链判断),原生数据类型不能判断 3. constructor.name(根据构造器判断),不能判断null数据类型 4. Object.prototype.toString.call()(用Object的toString方法判断)所有类型数据都能判断,记住判断结果打印为:'[object Xxx]'
发表于 2022-04-21 18:09:53 回复(0)
1.typeof 判断基本类型 判断引用类型时,除了function 其他的为object null 2.instance of left __proto__ 是否在 right prototype上 3.constructor 4.Object.prototype.toString().call()
发表于 2022-04-16 16:43:40 回复(0)
typeof(基础类型)(根据底层数据存储的二进制判断)、instanceof(引用类型)(根据原型链判断)、Object.prototype.toString(通用)(每个对象上记载的属性名称)、constructor(根据构造器判断)
发表于 2022-04-29 12:03:36 回复(0)
typeof:判断基本数据类型,对于引用数据类型,除function外均返回Object instanceof:区分引用数据类型。对于undefined、null、symbol检测不出来。 Object.prototype.toString.call()对象原型链判断方法:适用于**所有类型检测且检测最精准**,返回该类型的的字符串 constructor(用于引用数据类型):用于检测引用数据类型 jquery.type() --万能
发表于 2022-06-30 10:59:47 回复(0)
typeof,instanceof,Object.prototype.toString.call(),arr.constructor===Array
发表于 2022-06-21 22:33:04 回复(0)
typeof:在基本类型(null)除外和Function时,返回其对应类型,对于引用类型(Function除外)都返回Object instanceof :无法判断基本数据类型;对于引用类型(除判断数据类型是否是Object类型外)均可;constructor:在基本数据类型(null与undefined除外)、引用数据类型时,均返回对应类型; Object.prototype.toString:无论基本数据类型还是引用数据类型返回其对应类型
发表于 2022-10-13 09:26:12 回复(0)
1.typeof只能判断基本类型 2.intanceof 原生数据类型判断 3。object.prototype.tostring.call() 返回值都是[Object xxx]格式 4.arr.constrctor===Array
编辑于 2022-04-23 19:21:12 回复(0)
1、typeof 用来判断基本数据类型,对于引用数据类型function 返回function其他 都返回Object. 2、instanceof 主要用于区分引用数据类型,检测方法是检测的类型再当前实例的原型链上,用其检测出来的结果都是true,不太适合检测简单数据类型的检测,检测过程繁琐且对简单数据类型中的undefined null symbol检测不出来。 3、constructor:用于检测引用数据类型,检测方法是获取实例的构造函数判断和某个类是否相同,如哦相同就说明该数据是符合那个数据类型的,这种方法不会把原型链上的其他类也加入进来,避免了原型链的干扰。 4、Object.prototype.toString.call():适用于所有类型的检测,检测方法是Object.prototype.toString.call(数据)返回的是该数据类型的字符串。最精准的就是这个方法
发表于 2022-05-28 15:35:39 回复(0)
typeof
发表于 2022-06-10 23:04:44 回复(0)
Array.isArray()可以判断
发表于 2022-06-03 23:43:09 回复(0)
1.typeof(null和array返回的是“object”、NaN返回的是“number”);2.instanceof(array instanceof object返回的是true);3.Object.prototype.toString().call(),Object.prototype.toString 表示一个返回对象类型的字符串,call()方法可以改变this的指向,那么把Object.prototype.toString()方法指向不同的数据类型上面,返回不同的结果.各种数据类型都能检测且检测精准的就是Object.prototype.toString.call()这种方法.;4.constructor,除了undefined和null,其他类型的变量均能使用constructor判断出类型.
发表于 2022-05-19 15:15:03 回复(0)
标准回答 JavaScript有4种方法判断变量的类型,分别是typeof、instanceof、Object.prototype.toString.call()(对象原型链判断方法)、 constructor (用于引用数据类型) 1.typeof:常用于判断基本数据类型,对于引用数据类型除了function返回’function‘,其余全部返回’object'。 2.instanceof:主要用于区分引用数据类型,检测方法是检测的类型在当前实例的原型链上,用其检测出来的结果都是true,不太适合用于简单数据类型的检测,检测过程繁琐且对于简单数据类型中的undefined, null, symbol检测不出来。 3. constructor:用于检测引用数据类型,检测方法是获取实例的构造函数判断和某个类是否相同,如果相同就说明该数据是符合那个数据类型的,这种方法不会把原型链上的其他类也加入进来,避免了原型链的干扰。 4.Object.prototype.toString.call():适用于所有类型的判断检测,检测方法是Object.prototype.toString.call(数据) 返回的是该数据类型的字符串。 这四种判断数据类型的方法中,各种数据类型都能检测且检测精准的就是Object.prototype.toString.call()这种方法。 加分回答 instanceof的实现原理:验证当前类的原型prototype是否会出现在实例的原型链__proto__上,只要在它的原型链上,则结果都为true。因此,`instanceof` 在查找的过程中会遍历左边变量的原型链,直到找到右边变量的 `prototype`,找到返回true,未找到返回false。 Object.prototype.toString.call()原理:Object.prototype.toString 表示一个返回对象类型的字符串,call()方法可以改变this的指向,那么把Object.prototype.toString()方法指向不同的数据类型上面,返回不同的结果
发表于 2024-05-24 16:21:08 回复(0)
typeof只能判断基本数据类型,instanceof 只能判断引用数据类型,原理是判断其原型链是否有该类型的原型。constructor4、object.toString().call()
发表于 2023-02-05 16:52:45 回复(0)
四种方法: 1.typeof用于判断基本数据类型,除了function返回的是‘function‘,其余返回的都是‘object’ 2.instanceof用于判断引用数据类型,返回的是布尔值,不能正确判断出基本数据类型 3.object.prototype.tostring.call()适用于所有数据类型 4.constructor用于判断引用数据类型,不影响原型链上的其他函数。
发表于 2022-12-21 11:54:55 回复(0)
1、判断基本数据类型 typeof(检测的变量) 返回数据类型 函数返回function null返回object 2、判断引用数据类型 检测的变量 instanceof 对应的构造函数 返回true/false 3、判断数组 Array.isArray(变量) 返回true/false 4、判断基本数据类型和引用数据类型 Object.prototype.toString.call(变量) 返回[Object 构造函数]
发表于 2022-11-06 21:44:59 回复(0)
1、typeof 判断基本类型,判断引用类型处理function以外不能判断object和null。2、a instanceof b 主要是用来判断a是否是b的实例(主要是原型链的判断)。3、Object.prototype.toString().call()可以判断所有类型,建议使用,打印结果为[Object xxx]
发表于 2022-05-13 11:29:27 回复(0)
判断数据类型的方式:1。typeof:判断基本数据类型2.instanceof:判断引用数据类型3.constructor:用于监测引用数据类型4.object。prototype。tostring。call(数据),适用于所有数据类型
发表于 2022-05-12 21:10:48 回复(0)
通用所有类型都能判断:Object.prototype.toString.call()
发表于 2024-05-15 15:39:32 回复(0)
1.typeof,对null判断失效。2.instanceof,不能检测基础数据类型。3.Object.prototype.toString.call();4.constructor,但是更改原型后,判断会变得不可靠。
发表于 2024-05-12 22:08:31 回复(0)
typeof instanceof constructor Object.prototype.toString.call()
发表于 2024-05-10 15:39:20 回复(0)