判断数据类型几种方法

常用的判断数据类型的方法主要有:typeof,instanceof,constructor,Object.prototype.toString

下面来分别介绍

1、typeof:返回一个字符串,表示未经计算的操作数的类型。

console.log(typeof 42);   // number

缺点:对于数组和对象或null 都会返回object

2、instanceof:用于测试构造函数的prototype属性是否出现在对象的原型链中的任何位置

function Car(make, model, year) {
  this.make = make;
  this.model = model;
  this.year = year;
}
var auto = new Car(‘Honda‘, ‘Accord‘, 1998);
console.log(auto instanceof Car);       // true

// 因为Object是原型链的最顶端,所以在其原型链上的都会为true
console.log(auto instanceof Object);   // true  

缺点:instanceof不能判断null和undefined

3、constructor:返回创建实例对象的 Object 构造函数的引用

var o = {};
o.constructor === Object; // true

var o = new Object;
o.constructor === Object; // true

var a = [];
a.constructor === Array; // true

var a = new Array;
a.constructor === Array // true

var n = new Number(3);
n.constructor === Number; // true

function Tree(name) {
   this.name = name;
}

var theTree = new Tree("Redwood");
console.log( theTree.constructor );   //function Tree(name){this.name=name}

缺点:无法检测null,undefined

4、Object.prototype.toString

Object.prototype.toString.call(new Date)  // [object Date]

   

原文地址:https://www.cnblogs.com/zpxm/p/9803101.html

时间: 2024-10-09 10:26:29

判断数据类型几种方法的相关文章

细数判断数据类型的各种方法

数据类型的分类 要想判断数据类型,首先要知道数据类型的分类.数据类型分为基本数据类型和引用数据类型. 基本数据类型 基本数据类型有 五 种,ES6中新加了第 六 种基本数据类型--Symbol 类型. 数值 (number): 整数和小数. 字符串 (string): 文本 布尔值 (boolean):true 和 false . undefined: 表示'未定义'或不存在.一般情况下变量在声明后未赋值前都是undefined. null: 空值. symbol: ES6 引入的新原始数据类型

判断元素16种方法expected_conditions

前言 标签(空格分隔): 判断元素 经常有小伙伴问,如何判断一个元素是否存在,如何判断alert弹窗出来了,如何判断动态的元素等等一系列的判断,在selenium的expected_conditions模块收集了一系列的场景判断方法,这些方法是逢面试必考的!!! expected_conditions 一般也简称为EC,本篇先介绍下有哪些功能: 一.功能介绍和翻译: title_is:判断当前页面的title是否完全等于(==)预期字符串,返回是布尔值 title_contains 判断当前页面

数据库 插入时 碰到NULL报错判断的一种方法(技巧)

//public static object ToDBNull(object value) 判断插入数据的时候个别参数不能为空的时候做的判断方法 //{ // if (value == null) // { // return ToDBNull.Value; // } // else // { // return value; // } } static void Main(string[] args) { // new SqlParameter(@"BirthDay",ToDBNul

JS判断最大值4种方法

//**************常规用法************************** var ary=[100,23,78,90,80]; var sum=0; for(var i=0;i<ary.length;i++) { if(ary[i]>sum){ sum=ary[i]; } } alert(sum); //***************apply方法*************************// 最大数var a=[123,1,2,345];var ma4 = Mat

iOS 判断电话号 几种方法

- (BOOL)isMobileNumber:(NSString *)mobileNum { /** * 手机号码 * 移动:134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188 * 联通:130,131,132,152,155,156,185,186 * 电信:133,1349,153,180,189 */ //    NSString * MOBILE = @"^1(3[0-9]|5[0-35-9]|8[025-9])\\d

javascript中数组去重的4种方法

面试前端必须准备的一道问题:怎样去掉Javascript的Array的重复项.在最近面试中,百度.腾讯.盛大等都在面试里出过这个题目.这个问题看起来简单,但其实暗藏杀机. 考的不仅仅是实现这个功能,更能看出你对计算机程序执行的深入理解. 我总共想出了三种算法来实现这个目的: 方法一: Array.prototype.unique1 = function() {     var n = []; //一个新的临时数组     for(var i = 0; i < this.length; i++)

判断js中的数据类型的几种方法

判断js中的数据类型有一下几种方法:typeof.instanceof. constructor. prototype. $.type()/jquery.type(),接下来主要比较一下这几种方法的异同. 先举几个例子: 1 var a = "iamstring."; 2 var b = 222; 3 var c= [1,2,3]; 4 var d = new Date(); 5 var e = function(){alert(111);}; 6 var f = function()

判断JS数据类型的几种方法

原文转自http://www.cnblogs.com/onepixel/p/5126046.html! 说到数据类型,我们先说一下JavaScript 中常见的几种数据类型: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Function,Function,Array,RegExp,Date,... 很多时候我们都需要通过判断变量的数据类型来进行下一步操作,下面我们介绍常用的4种方法: typeof ''; // strin

转:判断js中的数据类型的几种方法

判断js中的数据类型有一下几种方法:typeof.instanceof. constructor. prototype. $.type()/jquery.type(),接下来主要比较一下这几种方法的异同. 先举几个例子: var a = "iamstring."; var b = 222; var c= [1,2,3]; var d = new Date(); var e = function(){alert(111);}; var f = function(){this.name=&