javascript 内制对象与自定义对象

什么是对象?

    我们只从程序设计角度讨论这个概念。在JavaScript中,你可以把对象看成对某一类型的事物使用程序语言表示出来的一种方法。使用对象编程可以大大简化程序设计,同时可以增加程序的安全性。但是这些对于JavaScript语言来说都不重要,因为,JavaScript并不是一门真正的面向对象程序语言,他没有提供对象应该具有的许多功能,例如:继承,重载等等。在JavaScript中,你只要认识到对象是你对整个网页文本乃至浏览器进行操控的基础即可。在JavaScript中的对象指包括两类元素:属性(Properties)和方法(Methods)。属性是描述对象的某些特性的变量,而方法是对对象进行操作的函数。

内制对象

    如上所述,内制对象是JavaScript语言预先设置好用于操控网页和浏览器的工具。JavaScript提供了相当丰富的内制对象,主要有String,Math,Date,Image等等。内制对象可以被看作是标准语言的一个组成部分,你可以在任何时间任何地点调用。限于篇幅,我们将不再对这些对象进行详细讨论,你可以自己研究一下我们整理的这张对象简表。     JavaScript中的另一类特殊的对象是浏览器对象,包括了Navigator,window,document等等,这些对象我们将会在以后的章节详细讨论。

自定义对象

    JavaScript允许用户定义自己的对象类型。如前所述,JavaScript并没有提供对象所有的全部特性,而是将重点放在对对象的应用上了。因此他的对象创建方法就有点与众不同。

  • 你需要创建一个与对象同名的函数,这个函数被成为构造函数。
  • 在对象中调用自身属性,可是使用JavaScript内部设定的特殊对象this。
  • 对象本身的属性的初始化在构造函数中完成,对对象方法的设定也在构造函数中完成
  • 关联方法时,函数名不需要加()

    我们通过一个简单的例子来学习整个的自定义对象生成和使用过程。

<Script language="javascript">

//本函数为对象people的构造函数,包括了三个属性一个方法

function people(name,sex,age)
{
     this.name=name;         //初始化姓名
     this.sex=sex;                //初始化性别
     this.age=age;                //初始化年龄
    //关联方法,注意,没有(), this.tostring=tostring();是错误的写法
     this.tostring=tostring;
}

function tostring()
{
    for
(var prop in this)
        document.write(prop+"="+this[prop] + "/n");
}

//使用对象people,创建一个变量zhang,并且初始三个属性

var zhang=new people('小张','男',28);
//调用people对象的tostring属性
zhang.tostring();

</script>

本例输出结果:

<script language="javascript" type="text/javascript"> //本函数为对象people的构造函数,包括了三个属性一个方法 function people(name,sex,age) { this.name=name; //初始化姓名 this.sex=sex; //初始化性别 this.age=age; //初始化年龄 this.tostring=tostring; //关联方法 } function tostring() { document.write(this.name+", "+this.age+'岁,'); document.write(this.sex+"/n"); } //使用对象people,创建一个变量zhang,并且初始三个属性 var zhang=new people('小张','男',28); //调用people对象的tostring方法 zhang.tostring(); </script>小张, 28岁,男小张, 28岁,男
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值