【原生】封装一个判断数据类型的函数的方法,准确判断一个数据的类型
// 判断一个数据类型的函数封装的方法,obj是用来接收传入的参数的 function gettype(obj) { var type = typeof obj; if (type !== 'object') { return type; } //如果不是object类型的数据,直接用typeof就能判断出来 //如果是object类型数据,准确判断类型必须使用Object.prototype.toString.call(obj)的方式才能判断 return Object.prototype.toString.call(obj).replace(/^\[object (\S+)\]$/, '$1'); //.replace(/^\[object (\S+)\]$/, '$1'); 主要是把 第一个对象去掉 }
HTML文件实例
<!DOCTYPE html>
<html lang="en">
<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>
<h1>判断一个数据类型 </h1>
<h3>Object.prototype.toString.call(obj)</h3>
<script>
// 分别输入测试
var undf;
var a = []; //数组
var b = "474"; //字符
var c = new Object(); //对象
var d = new Number(6) //数字
var e = NaN //非数字,但是是数据类型
var d=function(){};
var f=Symbol("key") ;
var g=null;
var i=undefined;
// 判断一个数据类型的函数封装的方法,obj是用来接收传入的参数的
function gettype(obj) {
var type = typeof obj;
if (type !== 'object') {
return type;
}
//如果不是object类型的数据,直接用typeof就能判断出来
//如果是object类型数据,准确判断类型必须使用Object.prototype.toString.call(obj)的方式才能判断
return Object.prototype.toString.call(obj).replace(/^\[object (\S+)\]$/, '$1');
//.replace(/^\[object (\S+)\]$/, '$1'); 主要是把 第一个对象去掉
}
console.log(gettype(a));
console.log(gettype(b));
console.log(gettype(c));
console.log(gettype(e));
console.log(gettype(d));
console.log(gettype(f));
console.log(gettype(g));
console.log(gettype(i));
// /////////////////////////////////////
function type(target) {
var ret = typeof (target);
var template = {
//包装类、对象、数组
"[object Number]": "number - object",
"[object String]": "string - object",
"[object Boolean]": "boolean - object",
"[object Object]": "object",
"[object Array]": "array"
}
//找出 null
if (target === null) {
return null;
}
if (ret == "object") {
var str = Object.prototype.toString.call(target);
return template[str];
} else {
//原始值 和 function
return ret;
}
}
console.log(11111111111111111111111111111111111111111)
console.log(type(a));
console.log(type(b));
console.log(type(c));
console.log(type(e));
console.log(type(d));
console.log(type(f));
console.log(type(g));
console.log(type(i));
</script>
</body>
</html>
1、路在何方?
路在脚下
2、何去何从?
每个人都在探索,未来的方向在何处。如果说某些方向是世人已经公认的,那么就先按照公认的去走吧(ps:站在巨人的肩膀上看世界会清晰)。
如果说方向,当今世人还不清晰准确。那么就大胆往前走吧,对与错并不重要。心中的方向更加重要。

浙公网安备 33010602011771号