JS基础教程——JavaScript基础知识(1.3对象-1.3.1对象的创建)

对象是一种复合型数据类型,它们将多个数据值集中在一个单元中,而且运行使用名字来存取这些值。对象是一个无序的属性集合,每个属性都有自己的名字和值。存储在对象中的已命名的值可以是数字和字符串这样的原始值,也可以是对象。

对象是无序数据的集合,它与数组一样都是复杂的数据容器。数组是以线性的形式进行数据存储的(结构一般有一定的规律,适合统一操作,如迭代、循环等);但是对戏那个是离散数据结构,数据间分散在结构体内,相互间并没有必然的联系,对象结构包含的数据没有位置的概念,放在前面或者后面并不会对数据产生任何影响。

对象内的数据具有数值的部分特点,多个数据成员之间通过逗号进行分隔,但是成员间的关系淡化了位置之间的关系。对象就像一本字典,每个数据成员都被标识了一个名称,并且在对应词条后面包含了对词条的解释。

1.对象的创建

与其他时候一样,对象的创建也是需要用保留字new来完成的。在JavaScript中,对象是具有相同特性的尸体的抽象描述,而对象实例则是具有这些特性的单个实体。对象实例的创建方法如下: 

var 对象实例名= new 对象名(实参);

当创建对象实例时,要注意实际参数表与对象构造函数的形式参数表的对应关系。例如定义一个实例如下:

var student = new student("李杨","24","男");

创建了这个实例后,就可以通过该实例引用对象的属性和方法成员。对象属性的引用格式如下:

对象实例名.方法成员名

例如:

StudentName = Student.name;
Student.find();

2.对象操作的语句

在JavaScript中提供了两个操作对象的语句。

 (1)for…in语句。这是一条循环语句,其格式如下:

 

for(变量名 in 对象实例名)

该语句用于对已有对象实例的所有属性进行操作的控制循环,它将一个对象实例的所有属性反复置给制定的变量来实现循环,而不是使用计数器来实现循环。当不知道对象中的属性的个数时此语句格外重要。例如

    function student(name,age,sex,telphone){
        this.name = name;
        this.age = age;
        this.sex = sex;
        this.telphone = telphone;
    }
    function show(object){
        var i;
        for(i in object){
            document.write(object[i]);
        }
    }

 

在主函数中做如下声明:

var object = new student("张三",18,"男",1333333333);
show(object);

 

当调用函数show后,在循环体中,for自动将其属性取出,知道最后。在这个过程中,是不需要知道对象属性个数的。

(2)with语句。当需要引用对象的属性或者方法成员时,都要在成员名前缀处标明对象的名字,例如对象student的实例student,引用其成员变量的格式如下:

student.name;
student.age;
student.sex;
student.telephone;

 

但是为了书写方便引用了语句with,其格式如下:

with object{
    name;
    age;
    sex;
    thlephone;
}

 

也就是说,在该语句体内,任何对变量的应用都被认为是这个对象的属性。例如,对于student对象书写如下;

with object{
    docement.name;
    docement.age;
    docement.sex;
    docement.thlephone;
}