批量创建对象:工厂函数和构造函数

1、工厂函数:

// 批量创建对象: 可以将创建对象的代码封装在一个函数中, 这个函数就叫工厂函数
// 虽然封装了, 但还是通过 字面量的方式创建的, 所以类型 还是 Object
// 通过工厂函数创建的对象, 没有具体的类型的, 都是 Object

function createPerson(name, age, gender) {
var obj = {
name: name,
age: age,
gender: gender,

say: function() {
// 在对象的方法中, this 指代当前对象
console.log('大家好, 我是' + this.name);
},
eat: function() {
console.log('会吃饭');
}
};
return obj;
}

var xh = createPerson('小红', 18, '女');
console.log(xh);

// var xm = createPerson('小明', 24, '男');
// console.log(xm);

// var xz = createPerson('小张', 80, '男');
// console.log(xz);
 
 
 
2、构造函数:
// 构造函数:
// 1. 就是一个函数
// 2. 首字母大写
// 3. 在js中, 内置了一些构造函数, 比如: Object Array
// 4. 构造函数可以自定义
----------------------------------------------
// 构造函数的使用步骤:
// 1. 自己声明一个构造函数
// 2. 结合 new 一起使用, 创建一个有类型的对象
-------------------------------------------------------------
new的四个作用:
// new作用: 创建对象
// 1. 会新建一个对象, 指定对象的类型
// 2. 让构造函数的 this, 指向新创建的对象
// 3. 执行构造函数
// 4. 将新创建的对象返回
--------------------------------------------------------------
function Girl(name, age) {
this.name = name;
this.age = age;

this.cook = function() {
console.log('会烧饭');
};
this.sing = function() {
console.log('会唱歌');
}
}
var girl = new Girl('小美', 18);
console.log(girl);
girl.sing();
 
 

 
原文地址:https://www.cnblogs.com/hhmmpp/p/10992178.html