<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>判断数据类型</title>
</head>
<body>
<p>typeof 无法区分null 数组和对象,通常我们会区分判断Array和Object</p>
<p>有时会用instanceof 来判断是不是一个对象的实例子</p>
</body>
</html>
<script type="text/javascript" src="jquery-2.1.1.min.js"></script>
<script type="text/javascript">
$(function(){
// 方法一:typeof;
// 方法二:tostring.call();
// 方法三:Instanceof 和 constructor;
// 方法四:hasOwnProperty;
// jQuery.isArray(); //是否为数组。
// jQuery.isEmptyObject(); //是否为空对象(不含可枚举的属性)。
// jQuery.isFunction(); //是否为函数。
// jQuery.isNumeric(); //是否为数字。
// jQuery.isPlainObject(); //是否为使用“{}”或“new Object”生成的对象,而不是浏览器原生提供的对象。
// jQuery.isWindow(); //是否为window对象。
// jQuery.isXMLDoc(); //判断一个DOM节点是否处于XML文档之中。
var arr = [1,2,3,4,5,6]
console.log(Array.isArray(arr));//判断是否为数组
console.log(typeof(arr))
console.log(toString.call(arr))
//---------------以下是判断通用数据格式的--------------
// console.log(toString.call(function(){}))
// // "[object Function]"
//
// console.log(toString.call(null))
// //"[object Null]"
//
// console.log(toString.call([2]))
// "[object Array]"
//
// toString.call(undefined)
// //"[object Undefined]"
//
// toString.call('stjd')
// //"[object String]"
//
// toString.call(1)
// //"[object Number]"
//
// toString.call(true)
// //"[object Boolean]"
//
// toString.call(Symbol(3))
// // "[object Symbol]"
//
// toString.call({q:8})
//"[object Object]"
})
</script>
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交