javascript数组元素的添加、删除与插入以及参数数组的使用

作者:小菜 更新时间:2025-03-16 点击数:
简介:1、数组元素的添加 push方法在数组的尾部添加元素: var colorArray=new Array(); colorArray.push(‘red‘,‘b

【菜科解读】

1、数组元素的添加

push方法在数组的尾部添加元素:

var colorArray=new Array();

colorArray.push('red','black','yellow'); //这里是直接压入三个元素

//当然也可以这要写

colorArray.push('red');

colorArray.push('black');

2、数组元素的删除与插入

pop方法删除数组的最后一个元素:

var colorArray=new Array();

colorArray.push('red','black','yellow');

colorArray.pop();//这里是删除数组的最后一个元素

var item=colorArray.pop();//当然这个方法在删除的同时也可以返回数组的最后一个元素

删除数组元素的第二种方法是用splice()

splice()可以删除任意数量的项,只需传入两个参数:要删除的第一项的位置和要删除的项数,例如,splice

(0,2),删除数组中前两项。

当然splice(2,2)就是删除下标为2的数组元素。

splice()这个方法还可以实现数组的插入操作:

splice(2,0,'xiaochun')这里传入三个参数,第一个参数是要插入的位置,第二个参数表示要删除多少个元素(这里给个0,表示不用删除),第三个参数表示要插入的数据。

运行结果是在下标2处插入xiaochun

以上的实例也可进行替换操作:

splice(2,1,'xiaochun')表示在下标为2处删除1个元素再插入xiaochun,这样就等同于替换了。

3、参数数组的使用

在Javascript中function的参数其实也是一个数组:

function test(){ //注意这里我没有给出函数的参数

alert(arguments[0]+" , "+arguments[1]+" , "+arguments[2]);

for(var i=0;i 下一篇:

Javascript中的“作用域链”知识分享

7 for(var i = 0; i发生了什么事情很多人都可能知道上例的执行结果,但是不是所有人都明白为什么会是这样的结果,包括我自己。

名词解释活动对象:一次函数调用开始的时候,javascript解释器会收集函数体中的所有局部变量(以var形式声明的变量),将这些局部变量存储到一个称为“活动对象”的对象里,所有变量都初始为undefined。

代码示例1 var fun = function(){2 alert(name);3 var name = ‘段光伟‘;4 }当执行这个函数时候时(fun()),函数体还没执行到,当前的活动对象为[{ name: undefined }],因此fun()执行的结果为:函数的[scope]属性:每个函数在定义的时候(生成函数实例的时候)都会分配一个[scope]属性,这个属性指向的当前的“作用域链”。

这个属性开发人员是访问不到的,只有javascript能访问。

作用域链:当函数调用时,javascript引擎会维护一个这次调用的作用域链,这个作用域链条是函数的[scope]指向的作用域链加上函数调用时的活动对象,形式如[ 活动对象, 函数定义时的作用域链条]。

代码示例 1 var a = 1; 2 //步骤1:[ { a: 1, outer: undefined } ] 4 var outer = function(){ 5 //步骤3:[ { b: undefined, inner: undefined } ,{ a: 1, outer: function } ] 6 var b = 2; 7 var inner = function(){ 8 //步骤4:[ {}, { b: 2, inner: function } ,{ a: 1, outer: function } ] 9 return a + b;12 //步骤3:[ { b: 2, inner: function } ,{ a: 1, outer: function } ]13 return inner();16 //步骤2:[ { a: 1, outer: function } ]17 outer();作用域链规则规则1javascript一般运行在一定的宿主中,每个宿主都会提供一个“全局对象”,或者叫“全局活动对象”,这个全局对象是所有作用域链的根节点。

规则2“取值操作”(如:alert(xxxVar))的规则是,沿着作用域链依次查找名称为“xxxVar”的变量,返回第一个找到的值,如果找不到就抛出异常(ReferenceError: xxxVar is not defined)。

规则3“赋值操作”(如:xxxVar = ‘段光伟‘)的规则是,沿着作用域链依次查找名称为“xxxVar”的变量,覆盖第一个找到的值,如果找不到就将“xxxVar”添加到全局对象中。

备注“闭包”这个概念就是通过“作用域链”实现的,而C#是通过编译器实现的,.NET并不支持。

Javascript,中的,“,作用域链,”,知识,分享,代

深入理解JavaScript函数原型

相信大家都知道JavaScript面向对象的设计是基于JavaScript原型(prototype)的,也能看到很多优秀的框架(如jQuery、YUI)都应用到了prototype,那就不妨把这个可恶又奇妙的prototype给弄明白,再看那些优秀框架的源码也就不是什么难事儿了,同时,它也能够帮助我们合理组织我们的代码。

原型[prototype]:每个对像都有一个隐慝的属性用于指向到它的父对像(构造对像的函数)的原型(这里称为父原型或隐式原型),并从中继承它的属性和方法 [函数对像除了父原型引用外,还有一个显式的原型引用],在一般情况下,对像的父原型是不可以访问的,而函数对像的显式原型可以通过FunctionName.prototype进行访问 [在firefox中你可以通过对像的__proto__属性来访问对像的父原型]这个原型属性本身又是一个Object类型的对像,因此可以给这个原型属性添加任意的属性和方法 让实例对像来继承它们老套路,直接放置一个图——对于这张图的说明及引深——1.本图能够深入剖析有关原型方面的基础理论;2.本图能够解释为何使用函数原型能够节省内存,因此我们常常将可复用的成员(包括属性和方法)添加到函数原型中;3.本图中介绍的两种模式也是我们常常使用的类式继承模式(另外还包括借用构造函数、借用和设置原型、共享原型),当然每一个类式继承模式均有其应用场景,在此先不做阐述。

4.深入理解函数原型(继承)能够极大的复用我们的代码,它的实质便是实现代码复用。

深入,理解,JavaScript,函数,原型,相信,大家,都

加入收藏
               

javascript数组元素的添加、删除与插入以及参数数组的使用

点击下载文档

格式为doc格式

营养元素

16

2025-03

  • 账号登录
社交账号登录