Object.prototype.toString.call(value)
使用Object.prototype上的原生toString()方法判断数据类型,使用方法如下:
1.判断基本类型:
Object.prototype.toString.call(null);//”[object Null]”
Object.prototype.toString.call(undefined);//”[object Undefined]”
Object.prototype.toString.call(“abc”);//”[object String]”
Object.prototype.toString.call(123);//”[object Number]”
Object.prototype.toString.call(true);//”[object Boolean]”
2.判断原生引用类型:
Function fn(){console.log(“test”);}
Object.prototype.toString.call(fn);//”[object Function]”
var date = new Date();
Object.prototype.toString.call(date);//”[object Date]”
var arr = [1,2,3];
Object.prototype.toString.call(arr);//”[object Array]”
var reg = /[hbc]at/gi;
Object.prototype.toString.call(arr);//”[object Array]”
function Person(name, age) {
    this.name = name;
    this.age = age;
}
var person = new Person("Rose", 18);
Object.prototype.toString.call(arr); //”[object Object]”
console.log(person instanceof Person);//输出结果为true
3.判断原生JSON对象:
var isNativeJSON = window.JSON && Object.prototype.toString.call(JSON);
console.log(isNativeJSON);//输出结果为”[object JSON]”说明JSON是原生的,否则不是;
注意:Object.prototype.toString()本身是允许被修改的,而我们目前所讨论的关于Object.prototype.toString()这个方法的应用都是假设toString()方法未被修改为前提的。
Object.prototype.toString.call(value)的更多相关文章
- 利用Object.prototype.toString方法,实现比typeof更准确的type校验
		
Object.prototype.toString方法返回对象的类型字符串,因此可以用来判断一个值的类型. 调用方法: Object.prototype.toString.call(value) 不同 ...
 - instanceof, typeof, & Object.prototype.toString
		
/** * * @authors Your Name (you@example.org) * @date 2016-11-18 09:31:23 * @version $Id$ */instanceo ...
 - 判断一个变量的类型Object.prototype.toString.call
		
var num = 1;alert(Object.prototype.toString.call(num)); // [object Number]var str = 'hudidit.com';al ...
 - Object.prototype.toString.call() 区分对象类型
		
判断一个对象的类型: /** * 判断对象是否为数组 * @param {Object} source 待判断的对象 * @return {Boolean} true|false */ Object. ...
 - Object.prototype.toString.call()进行类型判断
		
为什么类型判断用到Object.prototype.toString.call()进行类型判断,而不用typeof()呢? 然后翻了一下资料: Typeof 在使用 ]));/));));//[obj ...
 - toStirng()与Object.prototype.toString.call()方法浅谈
		
一.toString()是一个怎样的方法?它是能将某一个值转化为字符串的方法.然而它是如何将一个值从一种类型转化为字符串类型的呢? 通过下面几个例子,我们便能获得答案: 1.将boolean类型的值转 ...
 - JavaScript中toStirng()与Object.prototype.toString.call()方法浅谈
		
toStirng()与Object.prototype.toString.call()方法浅谈 一.toString()是一个怎样的方法?它是能将某一个值转化为字符串的方法.然而它是如何将一个值从一种 ...
 - JavaScript:Object.prototype.toString方法的原理
		
在JavaScript中,想要判断某个对象值属于哪种内置类型,最靠谱的做法就是通过Object.prototype.toString方法. var arr = []; console.log(Obje ...
 - 【JavaScript】Object.prototype.toString.call()进行类型判断
		
权声明:本文为博主原创文章,未经博主允许不得转载. op = Object.prototype, ostring = op.toString, ... function isFunction(it) ...
 - Object.prototype.toString.call() 区分对象类型(判断对象类型)
		
在 JavaScript 里使用 typeof 来判断数据类型,只能区分基本类型,即 “number”,”string”,”undefined”,”boolean”,”object” 五种.对于数组. ...
 
随机推荐
- Mac上配置 Ruby on Rails和Git
			
Ruby on Rails on Mac =============================================================================== ...
 - Windows cannot find ". Make sure you typed the name correctly, and then try again
			
https://answers.microsoft.com/en-us/windows/forum/windows_10-desktop/windows-10-explorerexe-error-wi ...
 - OpenCV中InputArray和OutputArray使用方法
			
原文链接:http://blog.csdn.net/yang_xian521/article/details/7755101 看过OpenCV源代码的朋友,肯定都知道很多函数的接口都是InputArr ...
 - centos yum 安装php7.2
			
yum -y remove php* rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm r ...
 - 今日SGU 5.22
			
SGU 296 题意:给你一个最多1000位的数,让你删除k位使得剩下的数最大 收获:贪心 #include<bits/stdc++.h> #define de(x) cout<&l ...
 - opencv-图像金字塔
			
图像金字塔 目标 原理摘自:http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/imgproc/pyramids/pyramids. ...
 - BZOJ 3210 花神的浇花集会 计算几何- -?
			
题目大意:给定平面上的n个点,求一个点到这n个点的切比雪夫距离之和最小 与3170不同的是这次选择的点无需是n个点中的一个 首先将每一个点(x,y)变为(x+y,x-y) 这样新点之间的曼哈顿距离的一 ...
 - Linux下安装zip解压功能
			
liunx服务器上默认没有安装zip命令,所以使用时需安装:apt-get install zip 或 yum install zip linux安装unzip命令:apt-get install ...
 - 洛谷P1439 最长公共子序列(LCS问题)
			
题目描述 给出1-n的两个排列P1和P2,求它们的最长公共子序列. 输入输出格式 输入格式: 第一行是一个数n, 接下来两行,每行为n个数,为自然数1-n的一个排列. 输出格式: 一个数,即最长公共子 ...
 - Android 将HTML5封装成android应用APK文件的几种方法
			
越来越多的开发者热衷于使用html5+JavaScript开发移动Web App.不过,HTML5 Web APP的出现能否在未来取代移动应用,就目前来说,还是个未知数.一方面,用户在使用习惯上,不喜 ...