Javascript中五种定义对象的方法

在javascript中,对象是拥有属性和方法的数据
本次主要讨论五种定义对象的方法

1.直接定义
创建语法:

var 对象变量名 = new Object();
对象变量名.属性1 = 属性值1;
…;
对象变量名. 属性N = 属性值N;
对象变量名. 方法1 = function([参数列表]){
	方法体
}
…;
对象变量名. 方法N = function([参数列表]){
     方法体
}

代码示例:

	var student = new Object();
	student.name="Lucy";
	student.eat=function(){
		console.log(this.name+"正在吃东西");
	}
	student.eat();

2.初始化定义:
创建语法:

var 对象变量名={
	属性1:属性值1,
	...,
	属性N:属性值N,
	方法1:function([参数列表]){
		方法体
	},
	...,
	方法N:function([参数列表]){
		方法体
	}
}

注意:
1.属性的定义用:(英文冒号)
2.对象的属性和方法之间用,(英文逗号)隔开,最后一个不加

代码示例:

var student = {
   	name:"Tim",  //注意属性的定义用:
   	age:12,
   	eatting:function(){
   		console.log(this.name+"正在吃东西");
   	},
   	running:function(){
   		console.log(this.name+"正在跑步");
   	}
};
student.eatting();
student.running();

3.构造函数式
创建语法:

function 构造函数([参数列表]){
	this.属性1=属性值;
	...;
	this.属性N=属性值;
	this.方法1=function([参数列表]){
		方法体
	};
	...;
	this.方法N=function([参数列表]){
		方法体
	};
}
var 对象名 = new 构造函数([参数列表]);

代码示例:

function Student(name){
	this.name=name;
	this.eatting=function(){
		console.log(this.name+"正在吃东西");
	};
}
var stu = new Student("Lily");
stu.eatting();

4.原型式
创建语法:

function 对象创建器(){
};
对象创建器.prototype.属性=属性值;
对象创建器.prototype.方法=function([参数列表]){
	方法体
};
var 对象名 = new 对象创建器([参数列表]);

代码示例:

	function Student(){
	}
	Student.prototype.name="Kitty";
	Student.prototype.eatting=function(){
			console.log(this.name+"正在吃东西");
	};
	var stu = new Student();
	stu.eatting();

5.混合式

由于构造方法式中创建对象时添加属性很容易,但是创建方法要在构造方法内部容易导致方法混乱;原型式创建对象时添加属性比较麻烦,创建方法相对容易。所以结合两者的优点就有了混合式。

创建语法:

function 构造函数([参数列表]){
	this.属性1=属性值;
	...;
	this.属性N=属性值;
	};
}
对象创建器.prototype.方法=function([参数列表]){
	方法体
};
var 对象名 = new 构造函数([参数列表]);

代码演示:

function Student(name){
	this.name=name;
}
Student.prototype.eatting=function(){
		console.log(this.name+"正在吃东西");
};
var stu = new Student("Linda");
stu.eatting();
  • 3
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值