js对象

1.对象

  • 特指的某个事物,具有属性和方法
    • 特征:属性
    • 行为:方法
  • 创建对象方式
    • 字面量的方式
    • 调用系统的构造函数
    • 自定义构造函数方式
//实例对象
    var per1={
      name:"卡卡西",
      age:20,
      sex:"男",
      eat:function () {
        console.log("吃臭豆腐");
      },
      readBook:function () {
        console.log("book");
      }
    };

//调用系统的构造函数
    var per2=new Object();
    per2.name="大蛇丸";
    per2.age=30;
    per2.sex="男";
    per2.eat=function () {
      console.log("吃榴莲");
    };

//自定义构造函数
    function Person(name,age,sex) {
      this.name=name;
      this.age=age;
      this.sex=sex;
      this.play=function () {
        console.log("天天打飞机");
      };
    }
  • 自定义构造函数的过程
  • 创建对象---->实例化一个对象,的同时对属性进行初始化
    1. 开辟空间存储对象
    2. 把this设置为当前的对象
      3.设置属性和方法的值
      4.把this对象返回

1.工厂模型创建对象

function createObject(name,age) {
      var obj=new Object();
      obj.name=name;
      obj.age=age;
      obj.sayHi=function () {
        console.log("您好");
      };
      return obj;
    }
    function Person(name,age) {
      this.name=name;
      this.age=age;
      this.sayHi=function () {
        console.log("您好");
      };
    }
    //创建对象---->实例化一个对象,的同时对属性进行初始化

    /*
    * 共同点:都是函数,都可以创建对象,都可以传入参数
    *
    * 工厂模式:
    * 函数名是小写
    * 有new,
    * 有返回值
    * new之后的对象是当前的对象
    * 直接调用函数就可以创建对象
    *
    * 自定义构造函数:
    * 函数名是大写(首字母)
    * 没有new
    * 没有返回值
    * this是当前的对象
    * 通过new的方式来创建对象
    *
    *
    * */

    var per1=new Person("小红",20);

    var per2=createObject("小明",20);

原文地址:https://www.cnblogs.com/yb161/p/10121418.html