俄罗斯VS沙特直播

胡丽丽是一位在家待产的准妈妈,已经连续三年参与了“双十一”的抢购,可谓经验满满。他兴致勃勃地介绍道。深度学习则是机器学习的子类。之所以称之为‘节’,是因为参与人数多,而且能让大家开心,并找到津津乐道的话题,所以没必要太在意,大家开心就好,抢到当赚到,没有也不会沮丧,因为没抢到会成为我的另外一种谈资。
返回首页

JavaScript如何判断变量的类型

时间:2015-09-19 20:41来源:知行网www.youyuan-chem.com 编辑:麦田守望者

当接收到一个变量需要判断其类型时,通常需要用typeof方法。
typeof 1 // "number"
typeof true // "boolean"
typeof "str" // "string"
typeof [1, 2, 3] // "object"
typeof new Date() // "object"
typeof /\s/ // "object"
typeof new RegExp(/\s/) // "object"


可以看到当面对Array、RegExp等对象变量时,都会返回Object,此时可以用instanceof方法来判断对象的类型。
[1, 2, 3] instanceof Array // true
new Date() instanceof Date // true
/\s/ instanceof RegExp // true
new RegExp(/\s/) instanceof RegExp // true


可是,这就需要逐个做一下判断,效率就有所降低了。此时可以利用Object原型链上的的toString方法,来将对象转化为”[object Xxx]”格式的字符串。
Object.prototype.toString.call(true); // "[object Boolean]"
Object.prototype.toString.call(1); // "[object Number]"
Object.prototype.toString.call("str"); // "[object String]"
Object.prototype.toString.call([1, 2, 3]); // "[object Array]"
Object.prototype.toString.call(/\s/); // "[object RegExp]"
Object.prototype.toString.call(function(){}); // "[object Function]"


最后附上关于判断类型的整体代码。
var type = function( obj ) {
var classArray = "Boolean Number String Function Array Date RegExp Object Error".split(" ")
class2type = {};
for (var i = classArray.length - 1; i >= 0; i--) {
class2type[ "[object " + classArray[i] + "]" ] = classArray[i].toLowerCase();
};
if ( obj == null ) {
return String( obj );
}
return typeof obj === "object" || typeof obj === "function" ?
class2type[ Object.prototype.toString.call(obj) ] || "object" :
typeof obj;
};

console.log(type(1)); // "number"
console.log(type(true)); // "boolean"
console.log(type("str")); // "string"
console.log(type([1, 2, 3])); // "array"
console.log(type(new Date())); // "date"
console.log(type(function(){})); // "function"
console.log(type(/\s/)); // "regexp

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
标签(Tag):Javascript javascript实例教程 JavaScript源代码 JavaScript基础教程
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
猜你感兴趣