码迷,mamicode.com
首页 > 编程语言 > 详细

javascript中的对象

时间:2016-03-20 10:25:06      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:

创建对象:

function MyObject(name,title){

this.name = name;

this.title = title;

this.getName = function (){

return this.title;

};

}

 

var obj = new MyObject("jack","C# Dev");

var name = obj.getName();

以上的创建方法用的是实例特性,实例方法,这样每份实例都会有特性和方法的拷贝,特别影响性能。可以考虑用原型特性和原型方法,这样在内存中只有一份特性和方法来“共用”,千万别跟java C++的静态方法搞混淆:

function MyObject(){

 

}

 

MyObject.prototype.name = name;

MyObject.prototype.title = title;

MyObject.prototype.getName = function (){

return this.title;

};

 

当然,或许还有人想在js中使用类似java静态方法那种特性,可以使用类方法:

function MyObject(name){

 this.name = name;

}

 

 

MyObject.show = function (){

alert("Fuck");

};

 

调用:MyObject.show();

 

总结:

1、对象方法理解就很简单了,主要是如果类生成一个实例,那么该实例就能使用该方法
2、类方法,不需要通过生成实例就可以使用的方法
3、原型方法主要是用来对JS已有的系统对象进行扩展而生的,例如Array数组没有什么方法,你可以为其增加原型方法,那么创建的数组就拥有了该方法。原型方法也一般用于对象实例共享,比如Person.prototype.sayName=function(){console.log(this.name);};在原型上面添加该方法,就能实现共享。这样就不用每一次初始化一个实例的时候,为其分配相应的内存了。

 

javascript中的对象

标签:

原文地址:http://www.cnblogs.com/foohack/p/5297190.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!