/* 创建对象的四种方式 */ /* 字面量创建 => var obj = {} */ // let o1 = { // name: 'Jack', // age: 18, // gender: '男' // } // 当我需要第二个对象的时候 // let o2 = { // name: 'Rose', // age: 20, // gender: '女' // } /* 内置构造函数创建 => var obj = new Object() */ // let o1 = new Object() // o1.name = 'Jack' // o1.age = 18 // 当我想创建第二个对象的时候 // let o2 = new Object() // o2.name = 'Rose' // o2.age = 20 /* 工厂函数创建对象 1. 先自己做一个工厂函数 2. 使用自己做的工厂函数来创建对象 */ // 1. 创建一个工厂函数 // function createObj(name, age, gender) { // // 1-1. 手动创建一个对象 // let obj = {} // // 1-2. 手动添加成员 // obj.name = name // obj.age = age // obj.gender = gender // // 1-3. 手动返回这个对象 // return obj // } // 2. 使用工厂函数创建对象 // 创建第一个对象 // let o1 = createObj('Jack', 18, '男') // console.log(o1) // 创建第二个对象 // let o2 = createObj('Rose', 20, '女') // console.log(o2) /* 自定义构造函数创建 1. 自己书写一个构造函数 2. 使用构造函数创建对象 构造函数 + 就是普通函数, 没有任何区别 + 只有在你调用的时候和 new 关键字连用, 才有构造函数的能力 => 只要你和 new 关键字连用 this => 当前对象(new 前面的那个变量名) */ // 1. 创建一个构造函数 function createObj(name, age, gender) { // 1-1. 自动创建一个对象 // 1-2. 手动向对象上添加内容 this.name = name this.age = age this.gender = gender // 1-3. 自动返回这个对象 } // 2. 创建对象 let o1 = new createObj('Jack', 18, '男') // 本次调用的时候, 函数内部的 this 就指向 o1 console.log(o1) let o2 = new createObj('Rose', 20, '女') console.log(o2)

浙公网安备 33010602011771号