javascript定义对象的几种简单方法
1.构造函数方式,全部属性及对象的方法都放在构造方法里面定义
优点:动态的传递参数
缺点:每创建一个对象就会创建相同的方法函数对象,占用大量内存
function User1(name, password) {
this.name = name;
this.password = password;
this.login = function(name,password){
if(this.name == name && this.password == password) {
return true;
}else {
return false;
}
};
}
2.原型方式,将对象属性及方法定义都写在对象的prototype里面
优点:每次创建对象时都是使用相同prototype中的方法,不会占用重复的内存
缺点:无法动态传递构造参数
function User2() {
}
User2.prototype.name = "prototype name";
User2.prototype.password = "prototype password";
User2.prototype.login = function(name,password){
if(this.name == name && this.password == password) {
return true;
} else {
return false;
}
};
3.构造及原型混合方式,将属性定义写在构造方式里面,方法写在prototype里面
优点:综合了construct及prototype方式的优点,可以动态传递构造参数,并且方法函数对象也只创建一个
缺点:函数写在对象外面,不太符合面向对象的思想
function User3(name,password) {
this.name = name;
this.password = password;
}
User3.prototype.login = function(name,password) {
if(this.name == name && this.password == password) {
return true;
} else {
return false;
}
};
4.动态原型方式:加一个判断属性,来判断该对象是否已经被创建过,如果被创建过,则方法就不在构建
优点:将原型函数写在对象定义里面
缺点:不支持继承
function User4(name,password) {
this.name = name;
this.password = password;
if(typeof User4.__initialized == "undefined") {
User4.prototype.login = function(name,password){
if(this.name == name && this.password == password) {
return true;
} else {
return false;
}
};
User4.__initialized = true;
}
}
大底javascript定义对象的方式主要是上述的四种,能满足绝大部分的需求。希望对javascript初学都来说有一定的帮助。同时附件里包含简单的示例,供初学都直接运行。
分享到:
相关推荐
javascript定义对象的四各方式。
javaScript定义对象的五种方法,个人感觉很好
问题如下,已经完成单个对象的简单应用,希望定义一个数组,能包含多个student。 复制代码 代码如下:var student = new Object(); student.name = “Lanny”; student.age = “25”; student.location = “China...
Javascript对象定义的几种方式
javascript工厂方式定义对象.docx
javascriptEvent对象详解定义.pdf
可以看看这个例子: 代码如下: var a = ‘global’; (function () { alert(a); var a = ‘local’;...因为所有JavaScript函数都是一个对象。在函数里声明的变量可以看做这个对象的“类似属性”。对
JAVASCRIPT中定义对象的几种方式.pdf
在JavaScript中定义JavaScript对象有两种方式: 方式一: var Book ={ getBookName:function(){ alert("获取书的名称") ; } }; 方式二 var oBook = function(){}; oBook.getBookName=...
JavaScript中的Math对象的与众不同之处在于,它是一个全局对象...在使用Math对象之前,既不需要将一个变量声明为Math对象,也不需要定义一个新的Math对象,JavaScript将自动地创建好Math对象,我们只须直接使用它即可。
JAVASCRIPTDOM对象介绍[定义].pdf
主要介绍了JavaScript定义全局对象的方法,结合实例形式分析了javascript全局对象的简单定义流程与实现技巧,需要的朋友可以参考下
JavaScript使用prototype定义对象类型
本文实例讲述了JavaScript面向对象程序设计中对象的定义和继承。分享给大家供大家参考,具体如下: 在面向对象的Javascript编程中,希望代码优雅有高效是非常重要的。...(2)用原型方式定义对象的函数
javascript面向对象之定义成员方法实例分析.docx
JavaScript提供多个内建对象,比如String、Date、Array等等,使用对象前先定义,如下使用数组对象:Eg: var objectName =[]; objectName.length; 1、日期对象 (1) 定义一个时间对象 : var myDate=new Date(); ........
javascript 面向对象编程的若干问题,包括this指针,如何定义对象,如何继承等
主要介绍了JavaScript定义类和对象的方法,分别以函数方式与Object类方式实现,是javascript非常重要的技巧,需要的朋友可以参考下