关于JavaScript的变量的数据类型的判断方法
程序员文章站
2022-05-07 11:01:40
虽然javascript是弱类型语言,但是,它也有自己的几种数据类型,分别是:number、string、boolean、object、udefined、nu...
虽然javascript是弱类型语言,但是,它也有自己的几种数据类型,分别是:number、string、boolean、object、udefined、null。其中,object属于复杂数据类型,object 由无序的键值对组成。其余几种都属于简单数据类型。注意:变量类型首字母大写,而变量值首字母是小写的。
javascript不支持自定义类型,所以javascript中的所有值都属于这六种类型之一。
要搞清楚一个变量是何种数据类型,就要使用typeof操作符了,注意,尤其要注意的是,typeof是操作符,不是方法,因此,typeof中的字母'o'是小写的。
语法:typeof temp; //temp是一个变量,这里可以不加括号,但是为了程序的可读性,最好还是加上括号。
javascript 本身可以用它typeof来检测变量的类型,但是有些结果却让人疑惑,例如,数组的类型居然是"object"。
下面是用typeof对各种数据类型的判断结果
var myfunction = function() { console.log('hello'); }; var myobject = { foo : 'bar' }; var myarray = [ 'a', 'b', 'c' ]; var mystring = 'hello'; var mynumber = 3; typeof myfunction; // 返回 'function' typeof myobject; // 返回 'object' typeof myarray; // 返回 'object' -- 小心哦! typeof mystring; // 返回 'string'; typeof mynumber; // 返回 'number' typeof null; // 返回 'object' -- 小心哦! if (myarray.push && myarray.slice && myarray.join) { // 很可能是一个数组 // 当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。 } if (object.prototype.tostring.call(myarray) === '[object array]') { // 肯定是一个数组! // 这是判断一个变量是否为数组的最可靠方法 }
上一篇: 情感专家捞金的背后,有哪些套路?
下一篇: 如何做鸡煲这份秘籍请收下