JavaScript 基于原型的对象(创建、调用)_Javascript教程-查字典教程网
JavaScript 基于原型的对象(创建、调用)
JavaScript 基于原型的对象(创建、调用)
发布时间:2016-12-30 来源:查字典编辑
摘要:JavaScript中的对象有三种1,内部对象如Array,Boolean,Data,Math,Number,Object,RegExp,S...

JavaScript中的对象有三种

1,内部对象

如Array,Boolean,Data,Math,Number,Object,RegExp,String对象等

这些对象系统给我们提供了各自的属性与方法供调用。

2,基于类的对象

用类的方式实现对象的引用,这些类需要我们自己定义

3,基于原型的对象

提供有关如何使用 JavaScript 基于原型的对象模型的指南,并且提供指向特定信息的链接,这些信息描述基于原型的对象的自定义构造函数和继承。

在我们写js代码的时候,内部对象是不可避免的要引用,但是光靠这些对象是不够的,所以需要我们自己定义对象,这个时候通常用到的对象是第三种,即基于原型的对象,下面就如何创建自己的对象,定义对象的方法、属性,调用对象给出详细的说明。

复制代码 代码如下:

//JScript 的一个强大功能是能够定义构造函数,以创建自定义的基于原型的对象,以便在您的脚本中使用。

//要创建基于原型的对象的实例,首先必须定义一个构造函数。

//此过程将创建一个新对象并将它初始化(创建属性并赋初始值)。

//当完成后,构造函数将返回对所构造对象的引用。

//在构造函数内部,创建的对象是通过 this 语句引用的。

function people(name,age)//定义people对象

{

this.mName=name;//这里的mName表示属性,无需在外面定义,this指示的是people这个对象

this.Age=age;

this.category="哺乳动物";

this.toString=Exporting;//方法,注意这里只能写toString,而不是toString()

this.myMethod=function()//等价于this.myMethod=method;然后下面写method的方法

{

return "你好";

}

}

function Exporting()//可以有返回值,但函数名前不用写返回值的类型,如string,int之类

{

return "我的名字是——"+this.mName+",年龄是——"+this.Age;

}

/*function method()

{

return "你好";

}*/

people.prototype.getName=function()//在构造函数外面写方法,

//也也可以这样写function people.prototype.getName()

//等价于在构造函数里面的方法:this.getName

{

return this.mName;

}

people.prototype.getAge=this.Age;//在构造函数外面写属性,

//等价于在构造函数里面的方法:this.getAge

function people.prototype.getMoney()//同people.prototype.getMoney=function()等价

//也等价于在构造函数里的写法:this.getMoney

{

return "1000";

}

function show()//调用people对象

{

var me=new people("刘德华",22);//实例化people对象,关键字new

//var myName=me.getName();

//alert(myName);

me.sex="男";//这里的sex属性只能用于me这个实例,即特有属性

//而如果有定义var you =new people("小强",1);

//you这个实例却不能调用sex属性

//如果要这两个实例都可以引用的话应该把sex属性写作people.prototype.sex

//alert(me.sex);

//alert(me.category);

//alert(me.toString());//或者直接写alert(me)即可

//alert(me.myMethod());

//alert(me.getMoney());

alert(me.myMethod()+"n姓名:"+me.getName()+"n性别:"+me.sex+"n类别:"+me.category+"n总资产:"+me.getMoney()+"n总结:"+me.toString());

}

根据上面的思路,可以在JavaScript内置对象上添加其它属性或者方法,下面为String对象增加一

good方法和bad属性,这是内置对象中所没有的方法和属性

复制代码 代码如下:

String.prototype.good=function()//自定义方法

{

return "恭喜你成功对内置String对象追加good方法";

}

String.prototype.bad="恭喜你成功对内置String对象追加bad属性";//自定义属性

function test()//调用String对象追加的属性和方法

{

var str="good good study";//定义一个字符串实例str

alert(str.good()+"n"+str.bad);//调用自定义的string对象的方法good和属性bad

}

最后在html中添加两个button按钮,测试对象people和string对象追加的方法和属性

复制代码 代码如下:

<html>

<title>JavaScript基于原型的对象</title>

<body>

<div>

<input type="button" value="自定义对象定义">

</div>

<div>

<input type="button" value="内置对象追加方法">

</div>

</body>

</html>

测试结果通过。。。。。。。表明对象的创建、对象方法属性的调用、内部对象的追加方法和属性调用都是正确的。

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Javascript教程学习
    热门Javascript教程学习
    编程开发子分类