创建对象
自己创建对象时
构造函数方式创建对象
1.封装构造函数
1.1 构造函数名首字母大写
1.2 函数体,使用this定义对象属性和方法
注:不要写其它类型的代码
1.3 构造函数方法中的this指向当前对象
2. 通过new语句调用构造函数创建对象
<script>
function test1() {
let obj = new Object()
obj.name = 'jack'
obj.age = 20
obj.say = function () {
console.log('说话');
}
obj.say()
}
// test1()
function test2() {
let person1 = {
name: 'jack',
age: 20,
say: function () {
console.log(this.name + '说话');
}
}
// obj.say()
let person2 = {
name: 'rose',
age: 20,
say: function () {
console.log(this.name + '说话');
}
}
let person3 = {
name: 'tom',
age: 20,
say: function () {
console.log(this.name + '说话');
}
}
}
// test2()
//工厂函数
function createPerson(name, age) {
let person = {
name,
age,
say: function () {
console.log(this.name + '说话');
}
}
return person
}
// let p1 = createPerson('jack',20)
// p1.say()
// let p2 = createPerson('rose',21)
// p2.say()
// 重点
// 构造函数
// 通过new语句调用构造函数创建一个对象,对象类型名就是构造函数名
/**
自己创建对象时
构造函数方式创建对象
1.封装构造函数
1.1 构造函数名首字母大写
1.2 函数体,使用this定义对象属性和方法
注:不要写其它类型的代码
1.3 构造函数方法中的this指向当前对象
2. 通过new语句调用构造函数创建对象
*/
function Person(_name,_age){
this.name = _name //给当前对象添加一个名为name的属性,将_name的值赋值给它
this.age = _age
this.say = function(){
console.log(this.name + '说话' + ' 年龄是'+this.age);
}
}
let p1 = new Person('jack',20) //创建一个数据类型为Person对象
p1.say()
let p2 = new Person('rose',21)
p2.say()
</script>