<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<script>
//直接创建式
var student=Object();
student.name="jim";
student.doHomework=function(){
console.log(this.name+"写作业");
}
student.doHomework(name);
//初始化式
var student={
name:"tom",//赋值用“:”号
doHomework(){
console.log(this.name+"写作业");
},
name:"jarry",
eat(){
console.log(this.name+"吃");
}//最后一行之前都要“,”结尾
}
student.eat();
student.doHomework();
//构造方法式:构造函数方式便于动态为属性赋值,但是这种方式将方法也定义在了构造方法体中,使得代码比较杂乱;
/*function Student(name){
this.name=name;//构造方法没有直接赋值
this.doHomework=function(){
console.log(name+"写作业");
}
}
var stu=new Student("lily");
stu.doHomework();*/
//原型式:定义变量很麻烦,原型方式不便于为属性动态赋值,但是这种方式定义的属性和方法实现了分离;
function Student(){
}
Student.prototype.name="lisa";//原型式里就赋值变量
//在声明一个新的函数后,该函数(在JavaScript中,函数也是对象)就会拥有一个prototype的属性,通过该属性可以为对象添加新的属性和方法。
Student.prototype.doHomework=function(){
console.log(this.name+"写作业");
}
var student=new Student();
student.doHomework();
//混合型:用原型式来定义方法,构造方法式定义变量
function Student(name){
this.name=name;
}
Student.prototype.doHomework = function(){
console.log(this.name+"写作业");//注意要用this
}
var students=new Student("dada");
students.doHomework();
</script>
<body>
</body>
</html>
JavaScript五种对象创建方法
最新推荐文章于 2024-07-08 16:22:29 发布