详解详解JavaScript对象和数组对象和数组
主要介绍了JavaScript对象和数组,需要的朋友可以参考下
许多高级编程语言都是面向对象的,比如C++、C#和Java等高级程序设计语言,那么一种面向对象语言有哪些基本要求呢?
下面我们就通宿地说一下面向对象的一些知识。
一种面向对象语言需要向开发者提供四种基本能力:
(1)封装:把相关的信息(无论数据或方法)存储在对象中的能力
(2)聚集:把一个对象存储在另一个对象内的能力
(3)继承:由另一个类(或多个类)得来类的属性和方法的能力
(4)多态:编写能以多种方法运行的函数或方法的能力
由于ECMAScript支持这些要求,因此可被是看做面向对象的。在ECMAScript中,不能访问对象的物理表示,只能访问对
象的引用。每次创建对象,存储在变量中的都是该对象的引用,而不是对象本身。因此JavaScript是基于面向对象的一种弱类
型的网页脚本语言。
一、一、Object类型类型
Object类型是包含属性(也可以叫字段)和方法(也可以叫函数)。因此在创建Object类型的时候一定是要说明的要点。 一般
创建Object类型数的方法有两种:
(1)使用使用new运算符运算符
var box=new Object();
box.name="张三";//创建属性以及初始化
box.age=23;
box.run=running();//创建方法
function running(){
return "我是中国人!";
}
document.write(typeof box+"<br/>");
document.write(box.name+"<br/>");
document.write(box.age+"<br/>");
document.write(box.run);
输出:object
张三
23
我是中国人!
(2)字面量表示法字面量表示法
var box={
name:"张三",
age:23,
run:function(){
return "我是中国人!";
}
};
document.write(typeof box+"<br/>");
document.write(box.name+"<br/>");
document.write(box.age+"<br/>");
document.write(box.run());
输出:同上
(3)综合使用综合使用
我们在传递多个参数的情况下,需要我们按顺序依次输入,为了解决这个繁琐的过程,我们可以将多个参数封装
到一个Object类型中,使用Object类型作为参数,对于不存在或多出的参数我们也可以进行判断,这样方便了调用函
数及传递参数。
function box(obj){
if(obj.name!=undefined)document.write(obj.name+"<br/>");
if(obj.age!=undefined)document.write(obj.age+"<br/>");
if(obj.love!=undefined)document.write(obj.love+"<br/>");
}
var obj={
name:"张三",
age:23
};
box(obj);
输出:张三
23
二、二、Array类型类型
ECMAScript中的数组和其他的语言有着很大的差别,JS中的数组中的元素可以是任何数据类型,数组的大小也
是可以调整的。从侧面反映出了JS是一种弱类型语言。创建Array类型数的方法有两种:
(1)使用使用new运算符运算符(new可以省略可以省略)