zoukankan      html  css  js  c++  java
  • JavaScript中的typeof和instanceof比较

    instanceof和typeof都能用来判断一个变量是否为空或是什么类型的变量。
    typeof(obj)用以获取一个变量的类型,typeof一般只能返回如下几个结果:number,boolean,string,function,object,undefined
    显然可以用typeof来判断变量是否存在或者赋值,而不要去使用if(a)因为如果a不存在(未声明)则会出错;
    但是对于Array,Null等特殊对象使用typeof一律返回object,这正是typeof的局限性。
    贴一份代码出来给大家看一下效果:
    //typeof与instanceof的区别
    function myFunTypeof()
    {
    var i;
    //alert(typeof(i));//undefined
    i="1234";
    //alert(typeof(i));//string
    i=123;
    //alert(typeof(i));//number
    i=false;
    //alert(typeof(i));//boolean
    //alert(typeof(BiBaoTest));//function
    var a=new Array();
    //alert(typeof(i));//Object
    //i={"1","2"};
    alert(typeof(a));//Object
    alert((a instanceof Array)?"Array":"Object");//Array
    //看一个具体的例子
    function test(){};
    var a1=new test();
    alert(a1 instanceof test)//true。
    }
    总结一下:typeof只能将所有的对象按照number,boolean,string,function,object,undefined这几个返回值,但是instanceof则可以返回object的子类,如:
    function test(){};
    var a1=new test();
    alert(a1 instanceof test)//true。
    alert(typeof(a1));//object
    这个就是一个简单的实例,但是可以明显看出他们的区别!
  • 相关阅读:
    BaseDao
    url中文参数解决方案
    Ajax实现步骤和原理
    在服务器端使用文件时的路径解决方案
    用户验证登录拦截器
    jenkins环境搭建
    gitlab环境搭建
    nexus3.X环境搭建
    base64文件大小计算
    JVM远程调试功能
  • 原文地址:https://www.cnblogs.com/Zhuangsd/p/5655361.html
Copyright © 2011-2022 走看看