JavaScript 學習筆記— —類型判斷

來源:互聯網
上載者:User

標籤:

//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 學習筆記— —類型判斷

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.