instanceof和typeof运算符的区别详解_jquery

一.instanceof运算符:
此运算符可以判断一个变量是否是某个对象(类)的实例,返回值是布尔类型的。
想要理解它的作用,必须对面向对象有所理解:

代码实例如下:

复制代码 代码如下:

var str=new String("antzone"); 
console.log(str instanceof String);

以上代码会输出true,因为str是对象String的对象实例。
一般说来只有使用构造函数创建的对象才会返回true,否则返回false,不过数组是一个例外,都会返回true。

二.typeof运算符:
此运算符可以返回一个字符串,用语说明元算数的类型,它的返回值有如下可能:

复制代码 代码如下:

number,boolean,string,function,object,undefined

先看一段代码实例:

复制代码 代码如下:

var str=new String("antzone");
var strTwo="antzone"; 
console.log(typeof str);
console.log(typeof strTwo);

在以上代码中,第一个可以输出准确的类型"string",第二个确是"object",并不精准。
一般来说使用typeof的操作是直接量形式的话能够返回准确的结果,如果是使用构造函数创建的对象则会返回"object",不过对于数组来说是个例外,无论是否是直接量都会返回"object"。

时间: 2024-09-16 08:53:51

instanceof和typeof运算符的区别详解_jquery的相关文章

instanceof和typeof运算符的区别详解

 两个运算符虽然比较相似,其实区别还是非常大的,虽然不难区别,但是对于初学者可能稍有困扰,下面就简单介绍一下它们两者的区别,希望对需要的朋友有所帮助 一.instanceof运算符: 此运算符可以判断一个变量是否是某个对象(类)的实例,返回值是布尔类型的. 想要理解它的作用,必须对面向对象有所理解:   代码实例如下:   代码如下: var str=new String("antzone");   console.log(str instanceof String);     以上代

JQuery的ready函数与JS的onload的区别详解_jquery

JQuery的ready函数与JS的onload的区别:1.执行时间window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行.$(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕. 2.编写个数不同window.onload不能同时编写多个,如果有多个window.onload方法,只会执行一个$(document).ready()可以同时编写多个,并且都可以得到执行 3.简化写法window.onload没有简化写法$(document).r

jQuery中document与window以及load与ready 区别详解_jquery

用过JavaScript的童鞋,应该知道window对象和document对象,也应该听说过load事件和ready事件,小菜当然也知道,而且自认为很了解,直到最近出了问题,才知道事情并不是那么简单. 首先说说window和document,直观上来讲,window代表的是浏览器窗口,而document代表的是浏览器窗口中加载的dom元素,进一步说,document是window的一个属性,window是最顶级的对象. 二者有啥区别呢?很好理解,假设现在有一个浏览器,里边加载的页面特别长,已经超

jQuery height()、innerHeight()、outerHeight()函数的区别详解_jquery

在jQuery中,获取元素高度的函数有3个,它们分别是height(). innerHeight(). outerHeight(). 与此相对应的是,获取元素宽度的函数也有3个,它们分别是width(). innerWidth(). outerWidth(). 在这里,我们以height().innerHeight().outerHeight()3个函数为例,来详细介绍它们之间的区别. 下面我们以元素element的盒模型为例来介绍它们之间的区别. 函数 高度范围 jQuery版本 支持写操作

JQuery中$.each 和$(selector).each()的区别详解_jquery

一个通用的遍历函数 , 可以用来遍历对象和数组. 数组和含有一个length属性的伪数组对象 (伪数组对象如function的arguments对象)以数字索引进行遍历,从0到length-1, 其它的对象通过的属性进行遍历. $.each()与$(selector).each()不同, 后者专用于jquery对象的遍历, 前者可用于遍历任何的集合(无论是数组或对象),如果是数组,回调函数每次传入数组的索引和对应的值(值亦可以通过this 关键字获取,但javascript总会包装this 值作

java equals和==的区别详解_java

大概说equals和==都比较的是什么: 1. boolean tem = a == b; 首先==比较的肯定是地址,从堆栈的角度说也就是说==比较的是栈上面的内容.因为栈是用来存放地址或是java中八大基本类型中自动变量的字面值(自动变量就是用int a = 1;这种形式来定义的变量).如果是自动变量比较值的话肯定是用==来比较,因为equals()是一个方法,所以必须由对象调用才可以用于比较.而自动变量既不是类的实例也不是类的引用所以不能用equals()方法. 2.boolean tem

response.redirect和Server.Transfer的区别详解

redirect|response|server|区别|详解 一般会使用response.redirect这条语句进行地址转向,ASP3.0以后提供了一种新的方法给我们,这种方法更加高效.让我们先来看看response.redirect和Server.Transfer分别是如何Run的! response.redirect其实上是当服务器碰到这条语句时发送一条指令(包含新的地址)给浏览器,然后让浏览器去发送http请求,请求response.redirect后面的那个新的http地址,流程如下:

SQL2005版本区别详解(Enterprise,Development,Workgroup,Standard,Express)

development|enterprise|express|sql2005|standard|workgroup|区别|详解 早前就一直以为是自己的机子,或是其它什么原因的,可刚刚又在官方下了一次 SQL2005 Express ,在公司机子上安装好后,发现和家里的没啥不同.郁闷得紧,网上淘了一下才恍然大悟.真的想骂娘,没了「企业管理器」和「查询分析器」,那还提供下载干嘛?有个鸟用啊?!!!!! SQL2005 分五个版本,如下所列: 1.Enterprise(企业版) 2.Developme

表单中Readonly和Disabled的区别详解

 这篇文章主要介绍了表单中Readonly和Disabled的区别详解,十分的细致,全面,需要了解相关信息的小伙伴们快来仔细研究下吧     Readonly和Disabled是用在表单中的两个属性,它们都能够做到使用户不能够更改表单域中的内容.但是它们之间有着微小的差别,总结如下: Readonly只针对input(text / password)和textarea有效,而disabled对于所有的表单元素都有效,包括select, radio, checkbox, button等. 但是表单