javascript 引用类型

1  Object 类型

var person = new Object() ; person.name = "summer"; 和 var person = {name:‘summer‘};是等价的。

2  Array 类型

(1)var colors = new Array(); 和 var colors = Array();和var colors = []; 是等价的。

(2)数组中的length 属性不仅是只读的,即通过设置这个属性,可以从数组的末尾移除项或添加新项。

实例1:

var colors = [‘red‘ , ‘blue‘ , ‘green‘];

colors.length = 2;

alert(colors[2]); //undefined

实例2:

var colors = [‘red‘ , ‘blue‘ , ‘green‘];

colors.length = 4;

alert(colors[3]); //undefined,但是数组已经增加
colors[colors.length] = ‘black‘;//数组上再加一个

实例3:

var colors = [‘red‘ , ‘blue‘ , ‘green‘];

colors[99] = ‘black‘;

alert(colors.length); //100

(3)检测数组:value instanceof Array  和 Array.isArray(value)

(4)装换方法:toLocalString()、toString()、valueOf()以及join

实例1:

var colors = [‘red‘ , ‘blue‘ , ‘green‘];

alert(colors.join("||")); //red||green||blue

(5)栈方法(LIFO)后进先出:colors.push("red","green"......)(加在后面)和colors.pop()(从后面开始删除)

(6)队列方法(FIFO)先进先出:colors.unshift("red","green"......)(加在前面)和colors.unshift()(从前面开始删除)

(7)重排方法:reverse()和sort()

实例1:

var values = [1,2,3,4,5]‘

values.reverse();

alert(values);//5,4,3,2,1

实例2:

var values = [0,1,5,10,15]‘

values.sort();

alert(values);//0,1,10,15,5  由于sort没有传递参数,是按照字符串来排列

实例2:

function compare(value1,value2){

  if(value1 < value2){

    return -1;

  }else if(value1 > value2){

    return 1;

  }else{

    return 0;

  }

}

var values = [0,1,5,10,15];

values.sort(compare);//传入函数参数

alert(values);//0,1,5,10,15

(8)操作方法:concat()、slice()、splice()

concat():基于当前数组中的所有项创建一个新数组

实例1:

var colors = [‘red‘,‘green‘,‘blue‘];

var colors2 = colors.concat(‘yellow‘,[‘black‘,‘brown‘]);

alert(colors);//red,green,blue

alert(colors2);//red,green,blue,yellow,black,brown

slice():基于当前数组中一个或多个项创建一个新数组

实例2:

var colors = [‘red‘,‘green‘,‘blue‘,‘yellow‘,‘purple‘];

var colors2 = colors.slice(1);//一个参数,从1开始到结束

var colors3 = colors.slice(1,4);//两个参数,从1到4,不包括结束项

alert(colors2);//green,blue,yellow,purple

alert(colors3);//green,blue,yellow

splice():删除、插入、替换(splice() 方法始终都会返回一个数组,该数组包含从原始数组中删除的项,如果没有删除项,返回空数组)

删除:可以删除任意数量的项,只需指定2个参数:要删除的第一项的位置和要删除的项数,如splice(0,2)会删除数组中的前两项

插入:可以向指定位置插入任意数量的项,只需要提供3个参数:起始位置、0(要删除的项数)和要插入的项。如splice(2,0,"red","green","yellow".....)会从当前数组的位置2开始插入后面的字符串

替换:可以向指定位置 插入任意数量,而且同时删除任意数量的项,只需指定3个参数:起始位置、要删除的项数和要插入的任意数据的项。插入的项数不必与删除的项数相等。如splice(2,1,"red","green"....)

实例3:

var colors = [‘red‘,‘green‘,‘blue‘];

var removed= colors.splice(0,1);

alert(colors );//green,blue

alert(removed );//red

removed= colors.splice(1,0,"yellow","orange");

alert(colors );//green,blue,yellow,orange

alert(removed );//空

removed= colors.splice(1,1,"red","purple");

alert(colors );//green,red,purple,orange,blue

alert(removed );//空

时间: 2024-10-10 01:19:21

javascript 引用类型的相关文章

【javascript 引用类型(一)】

javascript 的引用类型大致分为:Object 类型.Array 类型.Date 类型.RegExp 类型.Function 类型.基本包装类型和单体内置对象.这里我们着重介绍 Object 类型.Array 类型和 RegExp 类型. [Object 类型] 创建 Object 实例的方式有两种,一种是使用 new 操作符后跟 Object 构造函数,代码如下: var person = new Object(); person.name = 'Nicholas'; person.a

JavaScript引用类型和值类型

thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.45;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr&g

深入了解JavaScript引用类型之--Object、Array

1.Object类型 对象是某个特定引用类型的实例,新对象有两种创建方式: i.使用new操作符调用构造函数来创建. 1 var person = new Object(); 2 person.name = "zhangsan"; 3 person.age = 20; ii.使用对象字面量表示法来创建对象,可以简化创建包含大量属性的对象的创建过程. 1 var person = { 2 name = "zhangsan", 3 age = 20 4 }; var p

JavaScript——引用类型之数组

前言 之前本菜打算在写完基本类型后写引用类型Object的,因为Object是引用类型的基础,其他的引用类型也是以Object为根本.只是关于对象的基本认识与简单操作确实可写的不多,打算之后与原型.原型链一起写.本博将介绍引用类型Array,即JavaScript中的数组. Array 首先数组到底是什么呢?数组是一段线性分配的内存,它能通过整数计算偏移并访问其中的元素.遗憾的是这个定义是指其他语言中的数组,JavaScript中并没有此类数据结构.作为替代,JavaScript中基于对象创建了

JavaScript引用类型RegExp

本文和大家分享的主要是javascript 的引用类型RegExp相关内容,一起来看看吧,希望对大家 学习javascript有所帮助. ·  字面量 var  reg=/\d+/g; console.log( reg.test("789456"));//true ·  构造函数 var reg2=new RegExp("\\d+","g");console.log(reg2.test("1234444456"));//tru

javascript引用类型之对象Object

[前面的话] 引用类型:在javascript中,引用类型是一种数据结构,用于将数据和功能组织在一起,它也常被称为类.引用类型有时也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法. 引用对象的值(对象):是引用类型的一个实例.对象是某个特定引用类型的实例,新对象是使用new操作符后跟一个构造函数来创建的.构造函数本身就是一个函数,只不过该函数是出于创建新对象的目的而定义的.对象的别名是集合. Object:是一组数据和功能的集合 [1]对象创建:两种Object类型的创建方法 [1.

JavaScript引用类型和基本类型的区别

JavaScript变量可以用来保存的两种类型的值:基本类型值和引用类型值. 基本类型值有5种类型:undefined,null,boolean,number,string 引用类型值有两种类型:函数,对象. 基本类型值和引用类型值的特点: 1.基本类型值在内存中占据固定大小的空间,因此被保存在栈内存中: 2.从一个变量到另一变量复制的基本类型的值,会创建这个值得一个副本: 3.引用类型的值是对象,保存在堆内存中: 4.包含引用类型的值的变量实际存上包含的并不是对象本省,而是一个指向该对象的指针

JavaScript引用类型(二)

Date类型 Javascript中的Date类型是采用Java中的java.util.Date类基础上构建的,使用UTC时间来保存数据,可以精确到1970年1月1日之前或之后的285616年 创建一个日期对象,使用new关键字加构造函数声明(日期对象也是引用类型的),在不给构造函数传递任何参数的情况下,新对象自动获取当前的日期和时间,如下: var nowTime=new Date(); document.write(nowTime); //ed Aug 27 2014 13:31:12 GM

javascript引用类型之Date类型

Date类型使用自UTC(国际协调时间)1970年1月1日午夜(0时)开始经过的毫秒数来保存日期.要创建一个日期对象,使用new操作符和Date构造函数即可: var now = new Date(); 在调用Date构造函数而不传递参数的情况下,新创建的对象自动获得当前日期和时间.如果想根据特定的日期和时间创建时期对象,必须传入表示该日期的毫秒数.为了简化这一计算过程,javascript提供了两个方法:Date.parse()和Date.UTC(). 其中,Date.parse()方法接收一

javascript 引用类型 - 基本包装类型(深入理解基本包装类型和基本类型的区别)

Boolean.Number.String有的解释说是基本类型,但是官方的说明,他们是特殊的引用类型. 而据我总结,这三种类型比较特殊,既可以是基本类型,又可以是引用类型. 为什么呢,请看下文. 因为他们可以调用new新建对象. 例如:String str =new String("hello");.这样定义的话,足够说明引用类型的性质. 然后再用typeof(str)判断,返回来的数据是Object. 而当用 var str="hello"; 用typeof判断的