js中typeof、instanceof

typeof用以获取一个变量或者表达式的类型,typeof一般只能返回如下几个结果:

number,boolean,string,function(函数),object(NULL,数组,对象),undefined。

alert(typeof (123));//typeof(123)返回"number" 
alert(typeof ("123"));//typeof("123")返回"string"

我们可以使用typeof来获取一个变量是否存在,如if(typeof a!="undefined"){},而不要去使用if(a)因为如果a不存在(未声明)则会出错,

instanceof则为判断一个对象是否为某一数据类型,或一个变量是否为一个对象的实例;返回boolean类型

语法为 o instanceof A

正因为typeof遇到null,数组,对象时都会返回object类型,所以当我们要判断一个对象是否是数组时,或者判断某个变量是否是某个对象的实例则要选择使用另一个关键语法instanceof

instanceof用于判断一个变量是否某个对象的实例,如
var a=new Array();
alert(a instanceof Array);
//true

同时alert(a instanceof Object)也会返回true;这是因为Array是object的子类。

再如:

function test(){};
var a=new test();
alert(a instanceof test)
//true
<script type="text/javascript">

<!–

alert("typeof(1):" + typeof(1));//number

 alert("typeof(\"abc\"):" + typeof("abc"));//string
alert("typeof(true):" +typeof(true));//boolean

alert("typeof(2009-2-4):" + typeof(2009-2-4));//number

 alert("typeof(\"2009-2-4\"):" + typeof("2009-2-4"));//string

alert("typeof(m):" + typeof(m));//undefined

 var d=new Date();

alert("typeof(d):" + typeof(d));//object

function Person(){};

alert("typeof(Person):" + typeof(Person));//function

var a=new Array();

alert("typeof(a):" + typeof(a));//object

alert("a instanceof Array:" + (a instanceof Array));

var h=new Person();

var o={};

alert("h instanceof Person:" + (h instanceof Person));//true

alert("h instanceof Object:" + (h instanceof Object));//true

alert("o instanceof Object:" + (o instanceof Object));//true

alert(typeof(h));//object

//–>

</script>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 8,455评论 0 4
  • 第一章: JS简介 从当初简单的语言,变成了现在能够处理复杂计算和交互,拥有闭包、匿名函数, 甚至元编程等...
    LaBaby_阅读 5,610评论 0 6
  • 咪蒙今天写了一篇助理月收入五万,感慨万千,我与他们的差距在哪里?他们具备哪些特质,让他们月收入五万? (1)实力超...
    令芳老师阅读 1,755评论 0 4
  • 了解咖啡的成分 Q7 生咖啡豆的成分? 咖啡生豆中水分占了9%~13%,水分对咖啡豆的香味几乎没有影响。多糖类,...
    大饼变小了阅读 4,200评论 0 1
  • 下弦月,色如钩。 画满如烟星汉,月色流连。 香火情,心丝软。 无眠秋夜漫长,情丝蔓延。 —— 致拙 • 丁酉年季秋
    手握瓷杯阅读 2,507评论 0 10