javascript类型判断方法

判断javascript中的类型,共有四种常用的方法

var a=6;

var b="str";

var c=true;

var arr=[];

typeof 用于基本类型的判断

1.typeof最好用于基本类型的判断,返回类型名(小写)。

例外 typeof null==="object" //true

typeof function(){}==="function" //true

2.typeof返回的是字符串

3.对变量执行typeof操作

得到的不是变量类型,而是变量值的类型,因为JS区别别的语言,变量没有类型,值才有。

instanceof 已知对象类型,进而判断

console.log(arr.constructor===Array);//true

constructor

console.log(arr.constructor===Array);//true

注意:

constructor在类继承时会出错,instanceof方法不会出现该问题,对象直接继承和间接继承的都会报true

var A=function(){};

var B=function(){};

A.prototype=new B();

var obj=new A();

console.log(obj.constructor===B);//true

console.log(obj.constructor===A)//false

console.log(obj instanceof B)//true

console.log(obj instanceof A)//true

解决方法:obj.constructor = A;手动

prototype 最通用方法

Object.prototype.toString.call()

console.log(Object.prototype.toString.call(a))//[object,Number]

时间: 2024-10-13 11:55:55

javascript类型判断方法的相关文章

JavaScript类型判断

JavaScript的数据类型可以分为:标准类型和对象类型. 标准类型有:undefined Null Boolean Date Number Object 对象类型(构造器类型)有:Boolean Date Number Object Array Date Error Function RegExp 用来判断数据类型的一般有四种方式,分别是: 1.typeof 可以识别标准类型(Null除外) 不能识别对象类型(Function除外) 2.Prototype.toString() 可以识别标准

JavaScript类型判断详解(Object.prototype.toString.call()方法进行数据类型的可靠判断)

前言 在编写一些类库中,我们经常需要判断一些未知的用户的输入和配置,故而需要进行一系列的类型判断.故而总结下JS是如何进行类型判断的 typeof typeof操作符返回一个字符串,表示未经计算的操作数的类型:该运算符数据类型(返回字符串,对应列表如图) typeof undefined = undefined typeof Null = object typeof Boolean = boolean typeof Number = number typeof String = string t

【javaScript经验】javaScript类型判断

原生JS提供了typeof操作符来判断类型,判断基本类型时没问题,但当判断复杂类型时便有点不尽人意. 基本类型有哪些? 众说纷纭,争议的是null和function算不算基本类型?个人觉得能被typeof出正确类型的都是基本类型,来看以下代码: /*基本类型*/ alert(typeof nudefined);//输出 "nudefined" alert(typeof function(){});//输出 "function" alert(typeof "

javascript 类型判断

前言: 新来的同事问我该怎么判断未定义的变量是否存在,第一念头是a != undefined,但是这个显然是不对的,应该使用typeof检测 typeof是一个运算符,运算数可以是任何类型,返回值是一个字符串. undefined - 如果变量是 Undefined 类型的 boolean    - 如果变量是 Boolean 类型的 number    - 如果变量是 Number 类型的 string       - 如果变量是 String 类型的 object      - 如果变量是一

常用javascript类型判断

//判断是不是数组 console.log(Object.prototype.toString.apply([])==='[object Array]') //判断是不是函数 console.log(Object.prototype.toString.apply(function(){})==='[object Function]') //判断是不是null console.log(Object.prototype.toString.apply(null)==='[object Null]')

类型判断----小白讲解typeof,instanceof,Object.prototype.toString.call()

1.typeof只能判断基本类型数据, 例子: typeof 1 // "number" typeof '1' // "string" typeof true // "boolean" typeof {} // "object" typeof [] // "object" typeof function(){} // "function" typeof undefined // &quo

(转)JavaScript中判断对象类型的种种方法

我们知道,JavaScript中检测对象类型的运算符有:typeof.instanceof,还有对象的constructor属性: 1) typeof 运算符 typeof 是一元运算符,返回结果是一个说明运算数类型的字符串.如:"number","string","boolean","object","function","undefined"(可用于判断变量是否存在). 但 type

JavaScript中判断变量类型最简洁的实现方法(#################################)

这篇文章主要介绍了JavaScript中判断整字类型最简洁的实现方法,本文给出多个判断整数的方法,最后总结出一个最短.最简洁的实现方法,需要的朋友可以参考下 我们知道JavaScript提供了typeof运算符,因此最容易想到的是用typeof来判断是否是number类型. 复制代码代码如下: 1 2 3 function isNumber(obj) {     return typeof obj === 'number' } 这个函数对于整数和浮点数都没有问题,但对于NaN值也返回true这让

JavaScript各变量类型的判断方法

我们很容易被漂亮的代码吸引,也不知不觉的在自己的代码库中加入这些.却没有冷静的想过它们的优劣.这不,我就收集了一系列形如 "是否为……?" 的判断的boolean函数. isNull: function(a){ return a === null; }, isUndefined: function(a){ return a === undefined; }, isNumber: function(a){ return typeof a === 'number'; }, isString