js数据类型 男娘i 2021-12-24 07:03 360阅读 0赞 ** ** **六种基本数据类型和三种引用数据类型:** **值类型(基本类型)**:字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。 **引用数据类型**:对象(Object)、数组(Array)、函数(Function)。 **数据存储方式** 原始数据类型也称基础数据类型,是不可拆分的数据类型,他存在于栈中;而引用数据类型也是通常意义上所说的类,存在于堆中。 *这两者的一个重要的区别在于原始数据类型在赋值的时候使用的是传值的方式,而引用数据类型在赋值时使用的是传址(指针)的方式* **数据类型判断** **1、typeof()函数 对于原始数据类型,我们可以使用typeof()函数来判断他的数据类型:** typeof(1) //number typeof("1") //string typeof(true) //boolean typeof(undefined) //undefined typeof(null) //object **注释:**您也许会问,为什么 typeof 运算符对于 null 值会返回 "object"。这实际上是 JavaScript 最初实现中的一个错误,然后被 ECMAScript 沿用了。现在,null 被认为是对象的占位符,从而解释了这一矛盾,但从技术上来说,它仍然是原始值。 typeof能准确判断 :5中基本数据类i型boolean、number、string、undefined和一种引用数据类型function(引用类型除了function其他都是Object)。 typeof不能区分Null、Array、Date、 RegExp 、Object **2、instanceof** typeof()函数对于原始类型的判断还差强人意,但他是没法用来区分引用数据类型的,因为所有的引用数据类型都会返回"object"。于是javascript引入了java中使用的instanceof,用来判断一个变量是否是某个对象的实例,所以对于引用类型我们使用instanceof来进行类型判断。 ![复制代码][copycode.gif] var obj = {}; obj instanceof Object; //true var arr = []; arr instanceof Array; //true var now = new Date(); now instanceof Date; //true var func = function(){}; func instanceof Function; //true var str = "string"; str instanceof String; //false ![复制代码][copycode.gif] 如上面所示,instanceof对于引用类型的支持很好,但他是无法对原始类型进行判断,所以一般都是在typeof判断为object时才使用instanceof。(PS:还是不能判断null类型; 数组 instanceof Object 也是正确的!) **3、Object.prototype.toString.call()** 在javascript高级程序设计中提供了另一种方法,可以通用的来判断原始数据类型和引用数据类型,先看代码: 参照博客:https://www.cnblogs.com/a546558309/p/3608194.html ![复制代码][copycode.gif] var num1 = 1; var num2 = new Number(1); Object.prototype.toString.call(num1) == "[object Number]"; //true Object.prototype.toString.call(num2) == "[object Number]"; //true var arr = []; Object.prototype.toString.call(arr) == "[object Array]"; //true var func = function(){}; Object.prototype.toString.call(func) == "[object Function]"; //true function A(){}; var a = new A(); Object.prototype.toString.call(a) == "[object Object]"; //true ![复制代码][copycode.gif] 如上所示,这个方法提供了一个通用的数据类型判断模式,虽然对于自定义类的判断还没法做到,但在日常的类型判断中我们更多的是针对非自定义类,对于自定义类我们也可以转使用instanceof来进行判断,所以这种方法可以成为一种通用的类型判断方法。 下面附上常用的类型判断函数集合: ![复制代码][copycode.gif] var valide = (function(){ // 是否是字符串 function isString(value){ return Object.prototype.toString.call(value) == "[object String]"; } // 是否是数字 function isNumber(value){ return Object.prototype.toString.call(value) == "[object Number]"; } // 是否是布尔值 function isBoolean(value){ return Object.prototype.toString.call(value) == "[object Boolean]"; } // 是否undefined function isUndefined(value){ return Object.prototype.toString.call(value) == "[object Undefined]"; } // 是否是null function isNull(value){ return Object.prototype.toString.call(value) == "[object Null]"; } // 是否数组 function isArray(value){ return Object.prototype.toString.call(value) == "[object Array]"; } // 是否是函数 function isFunction(value){ return Object.prototype.toString.call(value) == "[object Function]"; } // 是否是对象 function isObject(value){ return Object.prototype.toString.call(value) == "[object Object]"; } // 是否是正则表达式 function isRegExp(value){ return Object.prototype.toString.call(value) == "[object RegExp]"; } // 是否是日期对象 function isDate(value){ return Object.prototype.toString.call(value) == "[object Date]"; } return { isString: isString, isNumber: isNumber, isBoolean: isBoolean, isUndefined: isUndefined, isNull: isNull, isArray: isArray, isFunction: isFunction, isObject: isObject, isRegExp: isRegExp, isDate: isDate }; })(); ![复制代码][copycode.gif] **更简单的写法:** <table style="border-spacing:0px;border-color:#C0C0C0;margin-left:0px;background:none;line-height:1.1em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;font-size:12px;min-height:auto;"> <tbody style="background:none;border:0px;line-height:1.1em;vertical-align:baseline;min-height:auto;"> <tr style="background:none;border:0px;line-height:1.1em;vertical-align:baseline;min-height:auto;"> <td style="border-color:#C0C0C0;background:none;line-height:1.1em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;font-size:12px;min-height:auto;"> <div style="background:none;border:0px;line-height:1.1em;vertical-align:baseline;min-height:auto;"> <div style="background:#f4f4f4 none;border:0px;line-height:1.8em;vertical-align:baseline;min-height:auto;"> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000ff;">var</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">Type = (</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000ff;">function</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">() { </code> </div> <div style="background-image:none;border:0px;line-height:1.8em;vertical-align:baseline;min-height:auto;"> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;"> </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000ff;">var</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">type = {};</code> </div> <div style="background:#f4f4f4 none;border:0px;line-height:1.8em;vertical-align:baseline;min-height:auto;"> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;"> </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000ff;">var</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">typeArr = [</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000FF;">'String'</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">, </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000FF;">'Object'</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">, </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000FF;">'Number'</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">, </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000FF;">'Array'</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">,</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000FF;">'Undefined'</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">, </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000FF;">'Function'</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">, </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000FF;">'Null'</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">, </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000FF;">'Symbol'</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">];</code> </div> <div style="background-image:none;border:0px;line-height:1.8em;vertical-align:baseline;min-height:auto;"> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;"> </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000ff;">for</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">(</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000ff;">var</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">i = 0; i < typeArr.length; i++) { </code> </div> <div style="background:#f4f4f4 none;border:0px;line-height:1.8em;vertical-align:baseline;min-height:auto;"> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;"> </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">(</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000ff;">function</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">(name) { </code> </div> <div style="background-image:none;border:0px;line-height:1.8em;vertical-align:baseline;min-height:auto;"> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;"> </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">type[</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000FF;">'Is'</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">+ name] = </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000ff;">function</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">(obj) { </code> </div> <div style="background:#f4f4f4 none;border:0px;line-height:1.8em;vertical-align:baseline;min-height:auto;"> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;"> </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000ff;">return</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">Object.prototype.toString.call(obj) == </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000FF;">'[object '</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">+ name + </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000FF;">']'</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">;</code> </div> <div style="background-image:none;border:0px;line-height:1.8em;vertical-align:baseline;min-height:auto;"> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;"> </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">}</code> </div> <div style="background:#f4f4f4 none;border:0px;line-height:1.8em;vertical-align:baseline;min-height:auto;"> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;"> </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">})(typeArr[i]);</code> </div> <div style="background-image:none;border:0px;line-height:1.8em;vertical-align:baseline;min-height:auto;"> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;"> </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">}</code> </div> <div style="background:#f4f4f4 none;border:0px;line-height:1.8em;vertical-align:baseline;min-height:auto;"> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;"> </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000ff;">return</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">type;</code> </div> <div style="background-image:none;border:0px;line-height:1.8em;vertical-align:baseline;min-height:auto;"> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">})();</code> </div> </div> </td> </tr> </tbody> </table> <table style="border-spacing:0px;border-color:#C0C0C0;margin-left:0px;background:none;line-height:1.1em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;font-size:12px;min-height:auto;"> <tbody style="background:none;border:0px;line-height:1.1em;vertical-align:baseline;min-height:auto;"> <tr style="background:none;border:0px;line-height:1.1em;vertical-align:baseline;min-height:auto;"> <td style="border-color:#C0C0C0;background:none;line-height:1.1em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;font-size:12px;min-height:auto;"> <div style="background:none;border:0px;line-height:1.1em;vertical-align:baseline;min-height:auto;"> <div style="background:#f4f4f4 none;border:0px;line-height:1.8em;vertical-align:baseline;min-height:auto;"> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">调用方法:Type.IsFunction(</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000ff;">function</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">() {}) Type.IsObject({})。。。。。</code> </div> </div> </td> </tr> </tbody> </table> <table style="border-spacing:0px;border-color:#C0C0C0;margin-left:0px;background:none;line-height:1.1em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;font-size:12px;min-height:auto;"> <tbody style="background:none;border:0px;line-height:1.1em;vertical-align:baseline;min-height:auto;"> <tr style="background:none;border:0px;line-height:1.1em;vertical-align:baseline;min-height:auto;"> <td style="border-color:#C0C0C0;background:none;line-height:1.1em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;font-size:12px;min-height:auto;"> <div style="background:none;border:0px;line-height:1.1em;vertical-align:baseline;min-height:auto;"> <div style="background:#f4f4f4 none;border:0px;line-height:1.8em;vertical-align:baseline;min-height:auto;"> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">Type.Is.....</code> </div> </div> </td> </tr> </tbody> </table> **4、constructor** 在W3C定义中的定义:constructor 属性返回对创建此对象的数组函数的引用 就是返回对象相对应的构造函数。从定义上来说跟instanceof不太一致,但效果都是一样的 如: (a instanceof Array) //a是否Array的实例?true or false (a.constructor == Array) // a实例所对应的构造函数是否为Array? true or false 举个例子: ![复制代码][copycode.gif] function employee(name,job,born){ this.name=name; this.job=job; this.born=born; } var bill=new employee("Bill Gates","Engineer",1985); console.log(bill.constructor); //输出function employee(name, jobtitle, born){this.name = name; this.jobtitle = job; this.born = born;} ![复制代码][copycode.gif] 那么判断各种类型的方法就是: console.log([].constructor == Array); console.log({}.constructor == Object); console.log("string".constructor == String); console.log((123).constructor == Number); console.log(true.constructor == Boolean); 较为严谨并且通用的方法: function isArray(object){ return object && typeof object==='object' && Array == object.constructor; } !!注意: 使用instaceof和construcor,被判断的array必须是在当前页面声明的!比如,一个页面(父页面)有一个框架,框架中引用了一个页面(子页面),在子页面中声明了一个array,并将其赋值给父页面的一个变量,这时判断该变量,Array == object.constructor;会返回false; 原因: 1、array属于引用型数据,在传递过程中,仅仅是引用地址的传递。 2、每个页面的Array原生对象所引用的地址是不一样的,在子页面声明的array,所对应的构造函数,是子页面的Array对象;父页面来进行判断,使用的Array并不等于子页面的Array;切记,不然很难跟踪问题! /\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*/ **另外可参照博客:https://www.cnblogs.com/dushao/p/5999563.html\#4028666** 补充jquery判断js数据类型 ![复制代码][copycode.gif] $.isArray([1,2]); // 数组 $.isFunction(function () { }); // 函数function $.isEmptyObject(null); // null,undefind $.isXMLDoc(); // xml typeof (2) === "number"; // 数字 typeof ("2") === "string"; // 字符串 typeof (true) === "boolean";// bool型 typeof (function () { }) === "function";// 函数function ![复制代码][copycode.gif] <table style="border-spacing:0px;border-color:#C0C0C0;margin-left:0px;background:none;line-height:1.1em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;font-size:12px;min-height:auto;"> <tbody style="background:none;border:0px;line-height:1.1em;vertical-align:baseline;min-height:auto;"> <tr style="background:none;border:0px;line-height:1.1em;vertical-align:baseline;min-height:auto;"> <td style="border-color:#C0C0C0;background:none;line-height:1.1em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;font-size:12px;min-height:auto;"> <div style="background:none;border:0px;line-height:1.1em;vertical-align:baseline;min-height:auto;"> <div style="background:#f4f4f4 none;border:0px;line-height:1.8em;vertical-align:baseline;min-height:auto;"> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000ff;">var</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">Type = (</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000ff;">function</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">() { </code> </div> <div style="background-image:none;border:0px;line-height:1.8em;vertical-align:baseline;min-height:auto;"> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;"> </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000ff;">var</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">type = {};</code> </div> <div style="background:#f4f4f4 none;border:0px;line-height:1.8em;vertical-align:baseline;min-height:auto;"> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;"> </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000ff;">var</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">typeArr = [</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000FF;">'String'</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">, </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000FF;">'Object'</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">, </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000FF;">'Number'</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">, </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000FF;">'Array'</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">,</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000FF;">'Undefined'</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">, </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000FF;">'Function'</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">, </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000FF;">'Null'</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">, </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000FF;">'Symbol'</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">];</code> </div> <div style="background-image:none;border:0px;line-height:1.8em;vertical-align:baseline;min-height:auto;"> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;"> </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000ff;">for</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">(</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000ff;">var</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">i = 0; i < typeArr.length; i++) { </code> </div> <div style="background:#f4f4f4 none;border:0px;line-height:1.8em;vertical-align:baseline;min-height:auto;"> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;"> </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">(</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000ff;">function</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">(name) { </code> </div> <div style="background-image:none;border:0px;line-height:1.8em;vertical-align:baseline;min-height:auto;"> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;"> </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">type[</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000FF;">'Is'</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">+ name] = </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000ff;">function</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">(obj) { </code> </div> <div style="background:#f4f4f4 none;border:0px;line-height:1.8em;vertical-align:baseline;min-height:auto;"> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;"> </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000ff;">return</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">Object.prototype.toString.call(obj) == </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000FF;">'[object '</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">+ name + </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000FF;">']'</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">;</code> </div> <div style="background-image:none;border:0px;line-height:1.8em;vertical-align:baseline;min-height:auto;"> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;"> </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">}</code> </div> <div style="background:#f4f4f4 none;border:0px;line-height:1.8em;vertical-align:baseline;min-height:auto;"> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;"> </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">})(typeArr[i]);</code> </div> <div style="background-image:none;border:0px;line-height:1.8em;vertical-align:baseline;min-height:auto;"> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;"> </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">}</code> </div> <div style="background:#f4f4f4 none;border:0px;line-height:1.8em;vertical-align:baseline;min-height:auto;"> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;"> </code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000ff;">return</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">type;</code> </div> <div style="background-image:none;border:0px;line-height:1.8em;vertical-align:baseline;min-height:auto;"> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">})();</code> </div> </div> </td> </tr> </tbody> </table> <table style="border-spacing:0px;border-color:#C0C0C0;margin-left:0px;background:none;line-height:1.1em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;font-size:12px;min-height:auto;"> <tbody style="background:none;border:0px;line-height:1.1em;vertical-align:baseline;min-height:auto;"> <tr style="background:none;border:0px;line-height:1.1em;vertical-align:baseline;min-height:auto;"> <td style="border-color:#C0C0C0;background:none;line-height:1.1em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;font-size:12px;min-height:auto;"> <div style="background:none;border:0px;line-height:1.1em;vertical-align:baseline;min-height:auto;"> <div style="background:#f4f4f4 none;border:0px;line-height:1.8em;vertical-align:baseline;min-height:auto;"> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">调用方法:Type.IsFunction(</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;color:#0000ff;">function</code> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">() {}) Type.IsObject({})。。。。。</code> </div> </div> </td> </tr> </tbody> </table> <table style="border-spacing:0px;border-color:#C0C0C0;margin-left:0px;background:none;line-height:1.1em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;font-size:12px;min-height:auto;"> <tbody style="background:none;border:0px;line-height:1.1em;vertical-align:baseline;min-height:auto;"> <tr style="background:none;border:0px;line-height:1.1em;vertical-align:baseline;min-height:auto;"> <td style="border-color:#C0C0C0;background:none;line-height:1.1em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;font-size:12px;min-height:auto;"> <div style="background:none;border:0px;line-height:1.1em;vertical-align:baseline;min-height:auto;"> <div style="background:#f4f4f4 none;border:0px;line-height:1.8em;vertical-align:baseline;min-height:auto;"> <code style="background:none;border:0px;line-height:1.8em;vertical-align:baseline;font-family:Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;min-height:auto;">Type.Is.....</code> </div> </div> </td> </tr> </tbody> </table> 转载于:https://www.cnblogs.com/cui-ting/p/10662822.html [copycode.gif]: /images/20211223/8c3d1b79a4c64494b15d49b5a7d5d968.png
相关 js数据类型 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> </head> ﹏ヽ暗。殇╰゛Y/ 2023年10月02日 12:22/ 0 赞/ 16 阅读
相关 js数据类型 js数据类型分为 基本数据类型 和 引用数据类型 基本数据类型 String (字符串类型) Number (数字类型) Boolen (布尔类型) 淩亂°似流年/ 2023年08月17日 16:25/ 0 赞/ 105 阅读
相关 JS数据类型 typeof 鉴于ECMAScript是松散类型的,因此需要有一种手段来检测给定变量的数据类型——typeof就是负责提供者方面信息的操作符。对一个值使用typeof操作符 青旅半醒/ 2023年06月09日 13:22/ 0 赞/ 14 阅读
相关 js数据类型 js数据类型 js中的数据类型:值类型,引用类型 值类型: undefined 未定义 String 字符串 Number 数 你的名字/ 2022年12月01日 14:20/ 0 赞/ 181 阅读
相关 js数据类型 > javascript数据类型 在 JavaScript 中有 5 种不同的数据类型: string number boolean objec ゝ一世哀愁。/ 2022年06月02日 08:28/ 0 赞/ 256 阅读
相关 js_数据类型 1. 数据类型: Js中定义变量统一使用var。 变量的命名规则:首字母必须以字母、下划线、美元符号开头。 它会自动对数据类型进行转换。 我们可以使用typeof来查看 古城微笑少年丶/ 2022年05月25日 05:25/ 0 赞/ 245 阅读
相关 js数据类型 六种基本数据类型和三种引用数据类型: 值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefin 男娘i/ 2021年12月24日 07:03/ 0 赞/ 361 阅读
相关 js数据类型 目录 一、数据类型 二.数据类型的分类 1.基本数据类型 2.引用数据类型 3.数据类型的判断 三、数据类型的操 布满荆棘的人生/ 2021年09月07日 06:02/ 0 赞/ 455 阅读
相关 js 数据类型 1.7种数据类型 原始类型:Boolean Null Undefined Number String Symbol 对象:Object 2.显式类型转换 爱被打了一巴掌/ 2021年08月29日 23:51/ 0 赞/ 402 阅读
还没有评论,来说两句吧...