typeof和instanceof运算符

(1)typeof运算符用于判断某一个变量的数据类型,它可以作为函数来用,如typeof(a)可以返回变量a的数据类型;也可以作为一个运算符来使用,例如typeof a 也可以返回变量a的数据类型,不同类型参数使用typeof返回的类型如下:

  undefind值:undefined

  null值:object

  布尔型值:boolean

  数字型值:number

  字符串值:string

  对象:object

  函数:function

案例:

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>Document</title>
 </head>
 <script type="text/javascript">
var a = 5;
var b = true;
var str = "javascript";
alert(typeof(a)+"\n"+typeof(b)+"\n"+typeof str)

 </script>
 <body>

 </body>
</html>

效果图:

(2)instanceof用于判断某个变量是否为指定类的实例,如果是则返回true,否则为false

 <script type="text/javascript">
var arr = [4,5];
//判断a变量是否为Array实例
alert(arr instanceof Array);
//判断a变量是否为Object实例
alert(arr instanceof Object);
 </script>

a变量是一个数组,所以第一个alert会弹出true;javascript中所有的类都是Object的子类,所以第二个弹出框也会显示为true

时间: 2024-11-09 06:10:51

typeof和instanceof运算符的相关文章

typeof 与 instanceof 运算符

相信很多伙伴们在刚刚入门js的时候,都会遇到 typeof 与 instanceof 在用法上的一些个困惑,今天小编就要和大家聊一聊它们各自的用法以及一些区别, 您先别急,咱下面就来分别讲解: js是一门弱语言,它在声明变量时无需确定变量的类型,js在运行时会自动判断. typeof  用来检测一个变量的类型,  返回值是一个字符串. 使用方式:typeof(表达式)和 typeof 变量名 运算符返回值:字符串,有七种可能:"undefined" ,"number"

JavaScript中“typeof”运算符与“instanceof”运算符的差异

在JavaScript中,运算符“typeof”和“instanceof”都可以用来判断数据的类型,那么这两个运算符有什么不同之处呢? 差异一:使用方式不同. 最明显的差异就是这两个运算符的使用方式了.“typeof”是一元运算符,其后直接跟需要进行类型判断的数据:而“instanceof”是二元运算符,其左侧是需要判断的数据,右侧是用于比较的类型. //typeof是一元运算符: var amount = 108; console.log(typeof amout);//控制台输出“numbe

tips instanceof运算符和typeof运算符的区别

tips instanceof运算符和typeof运算符的区别  一.instanceof运算符:       此运算符可以判断一个变量是否是某个对象(类)的实例,返回值是布尔类型的(true和false).想要理解它的作用,必须对面向对象有所理解: 代码实例如下: var str=new String("foodoir"); var str2="foodoir"; console.log(str instanceof String); //true console

JavaScript中instanceof运算符的用法以及和typeof的区别

instanceof : 为判断一个对象是否为某一数据类型,或一个变量是否为一个对象的实例;返回boolean类型栗子①: <script type="text/javascript"> var aColors = ["red", "green", "blue"]; alert(typeof aColors[0]); //output "string" alert(aColors[0] inst

typeof 和instanceof

1.typeof 首先来看typeof的测试结果 1 //1.typeof 判定 非构造函数 数据类型 2 var a = '123'; //typeof a === string 3 var b = 123; //typeof b === number 4 var c = true; //typeof c === boolean 5 var d = function(){};//typeof d === function 6 var e = {}; //typeof e === object

浅谈JavaScript中typeof与instanceof的区别

  首先,我们从其常规定义入手:       instanceof 运算符可以用来判断某个构造函数的 prototype 属性是否存在另外一个要检测对象的原型链上.(需要注意的一点是:prototype(原型链)的属性值有可能会改变).     typeof操作符返回一个字符串,表示未经求值的操作数(unevaluated operand)的类型. 此处引入topeof的一些特别之处,以便在区分用instanceof 还是typeof是做出判断: 注意:在通过typeof处理"其他任何对象&qu

typeof和instanceof

typeof:  typeof是一个一元运算符,放在一个运算数之前. "boolean"---如果这个值是布尔值. "string"---如果这个值是字符串. "number"---如果这个值是数值. "undefined"---如果这个值未定义. "object"---如果这个值是对象(包括Number,String,Boolean这样的包装对象),数组或null. "function"

JavaScript原型链和instanceof运算符的暧昧关系

时间回到两个月前,简单地理了理原型链.prototype以及__proto__之间的乱七八糟的关系,同时也简单了解了下typeof和instanceof两个运算符,但是,anyway,试试以下两题: console.log(Function instanceof Function); console.log(String instanceof String); 如果无法得出准确答案,跟着楼主一起温故而知新吧. 温故 我们经常用typeof运算符来判断一个变量的类型,也确实挺好用,能判断出numb

JavaScript instanceof 运算符深入剖析

instanceof 运算符简介 在 JavaScript 中,判断一个变量的类型尝尝会用 typeof 运算符,在使用 typeof 运算符时采用引用类型存储值会出现一个问题,无论引用的是什么类型的对象,它都返回 "object".ECMAScript 引入了另一个 Java 运算符 instanceof 来解决这个问题.instanceof 运算符与 typeof 运算符相似,用于识别正在处理的对象的类型.与 typeof 方法不同的是,instanceof 方法要求开发者明确地确