`

typeof与instanceof 区别

 
阅读更多
1、数组的创建
var arrayObj = new Array(); //创建一个数组
var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度
var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); 创建一个数组并赋值

要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可以将元素存储在规定长度以外的,注意:这时长度会随之改变。

2、数组的元素的访问
var testGetArrValue=arrayObj[1]; //获取数组的元素值
arrayObj[1]= "这是新值"; //给数组元素赋予新的值

3、数组元素的添加
arrayObj. push([item1 [item2 [. . . [itemN ]]]]);// 将一个或多个新元素添加到数组结尾,并返回数组新长度
arrayObj.unshift([item1 [item2 [. . . [itemN ]]]]);// 将一个或多个新元素添加到数组开始,数组中的元素自动后移,返回数组新长度
arrayObj.splice(insertPos,0,[item1[, item2[, . . . [,itemN]]]]);//将一个或多个新元素插入到数组的指定位置,插入位置的元素自动后移,返回""。

4、数组元素的删除
arrayObj.pop(); //移除最后一个元素并返回该元素值
arrayObj.shift(); //移除最前一个元素并返回该元素值,数组中元素自动前移
arrayObj.splice(deletePos,deleteCount); //删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返回所移除的元素

5、数组的截取和合并
arrayObj.slice(start, [end]); //以数组的形式返回数组的一部分,注意不包括 end 对应的元素,如果省略 end 将复制 start 之后的所有元素
arrayObj.concat([item1[, item2[, . . . [,itemN]]]]); //将多个数组(也可以是字符串,或者是数组和字符串的混合)连接为一个数组,返回连接好的新的数组

6、数组的拷贝
arrayObj.slice(0); //返回数组的拷贝数组,注意是一个新的数组,不是指向
arrayObj.concat(); //返回数组的拷贝数组,注意是一个新的数组,不是指向

7、数组元素的排序
arrayObj.reverse(); //反转元素(最前的排到最后、最后的排到最前),返回数组地址
arrayObj.sort(); //对数组元素排序,返回数组地址

8、数组元素的字符串化
arrayObj.join(separator); //返回字符串,这个字符串将数组的每一个元素值连接在一起,中间用 separator 隔开。
toLocaleString 、toString 、valueOf:可以看作是join的特殊用法,


另外补充一下:
Jtypeof与instanceof的区别 
JavaScript 中 typeof 和 instanceof 常用来判断一个变量是否为空,或者是什么类型的。但它们之间还是有区别的:
typeof:
typeof 是一个一元运算,放在一个运算数之前,运算数可以是任意类型。
它返回值是一个字符串,该字符串说明运算数的类型。typeof 一般只能返回如下几个结果:
number,boolean,string,function,object,undefined。我们可以使用 typeof 来获取一个变量是否存在,如 :
if(typeof a!="undefined"){alert("ok")},
而不要去使用 if(a) 因为如果 a 不存在(未声明)则会出错,对于 Array,Null 等特殊对象使用 typeof 一律返回 object,这正是 typeof 的局限性。

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) 会返回false。

另外:
测试 var a=new Array();if (a instanceof Object) alert('Y');else alert('N');
得'Y’
但 if (window instanceof Object) alert('Y');else alert('N');
得'N'
所以,这里的 instanceof 测试的 object 是指 js 语法中的 object,不是指 dom 模型对象
摘自 :http://hi.baidu.com/iron0313/blog/item/5c0182dcde1f3ba9cd116600.html/cmtid/5b1e080e335919c07bcbe196

http://blog.sina.com.cn/s/blog_532751d90100iv1r.html
分享到:
评论

相关推荐

    JS中typeof与instanceof的区别

    JS 中 typeof 与 instanceof 的区别 在 JavaScript 中,typeof 和 instanceof 是两个常用的运算符,用来判断一个变量是否为空,或者是什么类型的。但是,这两个运算符之间还是有区别的。 typeof 运算符是一个一元...

    JS中typeof与instanceof之间的区别总结

    在JavaScript中,`typeof`和`instanceof`是两种常用的类型检查操作符,它们各自有其独特的用法和局限性。 `typeof`操作符是一个一元运算符,它用于确定变量或表达式的类型,并返回一个表示该类型的字符串。`typeof`...

    详解JavaScript中typeof与instanceof用法

    与typeof不同的是,instanceof可以准确区分对象、数组以及它们的构造函数,因此在处理复杂数据类型时更为可靠。 ### 使用场景 通常,如果你只是想检查一个变量是否已经声明或者想要获取其基本数据类型(number, ...

    JS中typeof与instanceof之间的区别总结.docx

    总结来说,`typeof`和`instanceof`的主要区别在于: - `typeof`主要用来检测基本数据类型,对于引用类型(除了函数)都返回 "object"。 - `instanceof`用于判断对象是否为特定构造函数的实例,依赖于原型链。 在...

    关于js typeof 与 instanceof 判断数据类型区别及开发使用.docx

    3. `typeof` 与 `instanceof` 的区别与开发中的使用建议 - `typeof` 更适合用于检测基本类型,尤其是当需要区分`undefined`、`null`、`boolean`、`string`、`number`、`bigint`、`symbol`和`function`时。 - `...

    前端大厂最新面试题-typeof_instanceof.docx

    在前端开发中, typeof 和 instanceof 是两种常用的判断数据类型的方法,下面我们将详细介绍这两种方法的使用方法、区别和实现原理。 一、typeof 操作符 typeof 操作符返回一个字符串,表示未经计算的操作数的类型...

    JavaScript类型检测之typeof 和 instanceof 的缺陷与优化

    在javascript中,typeof 和 instanceof 是用来判断数据类型比较通用的两个方法,这篇文章的目的是通过对这两个方法介绍来分析其存在的不足并提出优化方案。 typeof ——————————————————————...

    JS:typeof instanceof constructor prototype区别

    然而,`typeof`也有其局限性,如不能准确区分不同类型的对象,比如无法辨别数组与普通对象的区别。因此,在处理复杂对象类型时,可能需要结合其他方法使用。 ### 2. `instanceof` `instanceof`运算符用于检查构造...

    Javascript typeof与instanceof的区别

    在JavaScript中,`typeof`和`instanceof`是两种常用的类型检查操作符,它们都用于检测变量的类型,但有着不同的用法和返回结果。理解它们的区别对于编写健壮的JavaScript代码至关重要。 `typeof`是一个一元操作符,...

    Array, Array Constructor, for in loop, typeof, instanceOf

    在JavaScript中,数组是一种特殊的对象,但它们与传统的对象有着明显的区别。数组是用于存储一系列有序数据的数据结构,而对象则是用于存储键值对的数据结构。尽管数组在内部表示上与对象共享一些特性,但在遍历和...

    javascript instanceof 与typeof使用说明

    在JavaScript编程中,typeof和instanceof是两种常用的运算符,它们都可以用来判断变量的数据类型或类的实例。为了深入理解这两个运算符的使用方法和区别,我们需要详细探讨它们各自的特性和适用场景。 首先,typeof...

    javascript之typeof、instanceof操作符使用探讨

    写javascirpt代码时,typeof和instanceof这两个操作符时不时就会用到,堪称必用。但是!使用它们总是不能直接的得到想要的结果,非常纠结,普遍的说法认为“这两个操作符或许是javascript中最大的设计缺陷,因为几乎...

    typeOf:nodejs typeof工厂(instanceof的改进)

    输入类型允许将您的值与代表... // 'object'null instanceof Object //false [有趣的事实] Object.prototype与具有typeof和instanceof的null的结果相同正则表达式使用正则表达式文字,有人会希望typeof返回一个特定的值

    谈谈我对JavaScript中typeof和instanceof的深入理解

    JavaScript提供了两种主要的方式来判断数据类型:typeof和instanceof。 首先,我们来深入了解typeof。typeof是一个一元运算符,能够用来检测变量的数据类型。它会返回一个表示变量类型的字符串。通常,typeof有以下...

    typeof、instanceof、constructor 的联系、区别、应用场景(js 类型判断)

    `typeof`、`instanceof`和`constructor`是JavaScript中三种常见的用于判断对象类型的工具。下面将详细阐述它们的联系、区别以及应用场景。 `typeof`操作符: `typeof`主要用于检测一个值的数据类型,返回的是一个...

    关于javascript中的typeof和instanceof介绍

    在JavaScript编程语言中,typeof和instanceof是两个用于检测数据类型的操作符。 typeof可以用来检测给定变量的基本数据类型,而instanceof用于检测对象是否属于某个特定的引用类型,或者更准确地说,是否是在某个类...

Global site tag (gtag.js) - Google Analytics