在javascript中检测变量类型的方法有哪些
3个回答
展开全部
1. typeof
<script>
typeof 2 //输出 number
typeof null //输出 object
typeof {} //输出 object
typeof [1] //输出 array
typeof (function(){}) //输出 function
typeof undefined //输出 undefined
typeof '222' //输出 string
typeof true //输出 boolean
</script>
2. Object.prototype.toString.call
<script>
var getType=Object.prototype.toString;
getType.call (2) //输出 number
getType.call (null) //输出 object
getType.call ({}) //输出 object
getType.call ([1]) //输出 array
getType.call ((function(){})) //输出 function
getType.call (undefined) //输出 undefined
getType.call ('222') //输出 string
getType.call (true) //输出 boolean
</script>
3. Object.constructor
<script>
var textType = 2; // null or {} or [1] or (function(){}) or undefined or '222' or true
console.log(textType.constructor);
// 2 输出 function Number() { [native code] }
// null 输出 ''
// {} 输出 function Object() { [native code] }
// [1] 输出 function Array() { [native code] }
// (function(){}) 输出 function Function() { [native code] }
// undefined 输出 ''
// '222' 输出 function String() { [native code] }
// true 输出 function Boolean() { [native code] }
</script>
展开全部
function getType(obj){
var t;
return ((t = typeof(obj)) == "object" ? obj==null && "null" || Object.prototype.toString.call(obj).slice(8,-1):t).toLowerCase();
}
//test
getType(new Date) //输出 date
getType("123") //输出 String
getType(123) //输出 number
...
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
var num = 123;
var str = 'abcdef';
var bool = true;
var arr = [1, 2, 3, 4];
var json = {name:'wenzi', age:25};
var func = function(){ console.log('this is function'); }
var und = undefined;
var nul = null;
var date = new Date();
var reg = /^[a-zA-Z]{5,20}$/;
var error= new Error();
console.log(
typeof num,
typeof str,
typeof bool,
typeof arr,
typeof json,
typeof func,
typeof und,
typeof nul,
typeof date,
typeof reg,
typeof error
);
试下看看
var str = 'abcdef';
var bool = true;
var arr = [1, 2, 3, 4];
var json = {name:'wenzi', age:25};
var func = function(){ console.log('this is function'); }
var und = undefined;
var nul = null;
var date = new Date();
var reg = /^[a-zA-Z]{5,20}$/;
var error= new Error();
console.log(
typeof num,
typeof str,
typeof bool,
typeof arr,
typeof json,
typeof func,
typeof und,
typeof nul,
typeof date,
typeof reg,
typeof error
);
试下看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询