JS建立对象的四种简单方式 (工厂模式和自定义构造函数建立对象的区别)


// 对象:特指的某个事物,具备属性和方法(一组无序的属性的集合)
// 特征------>属性
// 行为------>方法

// 建立对象的四种方式

         1 // 1.字面量的方式,就是实例化对象函数

 2  3 var stu1={  4 name:"小明",  5 age:20,  6 ID:20181111,  7 sex:"男",  8 eat:function(){  9 console.log("吃烩面"); 10 }, 11 readBook:function(){ 12 console.log("平凡的世界"); 13 } 14 }; 15 16 // 2.调用系统的构造函数 17 18 var stu2=new Object(); 19 stu2.name="小红"; 20 stu2.age=19; 21 stu2.ID=20181112; 22 stu2.sex="女"; 23 stu2.eat=function(){ 24 console.log("吃米饭"); 25 }; 26 stu2.readBook=function(){ 27 console.log("穆世林的葬礼"); 28 }; 29 //方式一、2 建立的对象没有propotype原型属性,三、4经过函数的形式建立的有prototype属性
prototype属性:为一个特定类声明通用的变量或者函数
不须要显式地声明一个prototype属性,由于在每个构造函数中都有它的存在
var Person = function(){}; var p = new Person(); alert(p.__proto__ === Person.prototype);//true
 
31 // 3.自定义构造函数的方式 32 33 function Student(name,age,ID,sex){ 34 this.name=name; 35 this.age=age; 36 this.ID=ID; 37 this.sex=sex; 38 this.sayHi=function(){ 39 console.log("您好!"); 40 }; 41 } 42 //建立对象--->实例化一个对象,同时对属性进行初始化。 43 // 1.开辟空间存储对象 44 // 2.把this设置为当前的对象 45 // 3.设置属性和方法的值 46 // 4.把this对象返回 47 var stu3=new Student("小天",18,20181113,"男"); 48 49 50 // 4.工厂模式建立对象 51 52 function student(name,age,ID,sex){ 53 var obj = new Object(); 54 obj.name=name; 55 obj.age=age; 56 obj.ID=ID; 57 obj.sex=sex; 58 obj.sayHi=function(){ 59 console.log("您好!"); 60 }; 61 return obj; 62 } 63 var stu4=student("小菊",21,20181114,"女");

 


工厂模式和自定义构造函数建立对象的区别:this

推荐使用自定义构造函数的方法建立对象

相关文章
相关标签/搜索