標籤:
//1 判斷是否為數群組類型 var a=[0]; console.log(isArray(a)); function isArray(obj){ return (typeof obj==‘object‘) && obj.constructor==Array; } console.log("2-----------------------------------") //2 判斷是否為字串類型 console.log(isString(‘test‘)); console.log(isString(10)); function isString(str){ return (typeof str==‘string‘)&&str.constructor==String; } console.log("3-----------------------------------") //3 判斷是否為數實值型別 console.log(isNumber(‘test‘)); console.log(isNumber(10)); function isNumber(obj){ return (typeof obj==‘number‘)&&obj.constructor==Number; } console.log("4-----------------------------------") //4 判斷是否為日期類型 console.log(isDate(new Date())); console.log(isDate(10)); function isDate(obj){ return (typeof obj==‘object‘)&&obj.constructor==Date; } console.log("5-----------------------------------") //5 判斷是否為函數 console.log(isFunction(function test(){})); console.log(isFunction(10)); function isFunction(obj){ return (typeof obj==‘function‘)&&obj.constructor==Function; } console.log("6-----------------------------------") //6 判斷是否為對象 console.log(isObject(new Object())); console.log(isObject(10)); function isObject(obj){ return (typeof obj==‘object‘)&&obj.constructor==Object; } /* * null 數組 日期 對象返回的是object類型 */
// js資料類型: number string boolean undefined object和函數類型 function console.log(typeof null)//object console.log(typeof Function)//function Function是封裝類型 console.log(typeof undefined)//undefined var message; console.log(message)//undefined 定義了沒有賦值 console.log(typeof message)//undefined 類型 console.log(null == undefined)//true /* * true==1;fase==0; * */ console.log(true == 1)//true console.log(false == 0)//true console.log(false ==2)//false var str=""; console.log(str==0);//true;Null 字元串將會把值轉換為0 console.log(typeof str)//string
var str2=new String(‘A‘);
console.log(str2) //String { 0="A"}
原型擴充方法
Object.prototype.toString.call
var gettype=Object.prototype.toString gettype.call(‘aaaa‘) //[object String] gettype.call(2222) //[object Number] gettype.call(true) //[object Boolean] gettype.call(undefined) //[object Undefined] gettype.call(null) //[object Null] gettype.call({}) //[object Object] gettype.call([]) //[object Array] gettype.call(function(){}) //[object Function]
/* 其實js 裡面還有好多類型判斷 [object HTMLDivElement] div 對象 , [object HTMLBodyElement] body 對象 ,[object Document](IE)或者 [object HTMLDocument](firefox,google) ......各種dom節點的判斷,這些東西在我們寫外掛程式的時候都會用到。*/ var gettype=Object.prototype.toString var utility={ isObj:function(o){ return gettype.call(o)=="[object Object]"; }, isArray:function(o){ return gettype.call(o)=="[object Array]"; }, isNULL:function(o){ return gettype.call(o)=="[object Null]"; }, isDocument:function(){ return gettype.call(o)=="[object Document]"|| [object HTMLDocument]; } //... }
JavaScript 學習筆記— —類型判斷