创建对象

101 阅读1分钟

创建对象

          自己创建对象时
          构造函数方式创建对象
          
          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>