15 (H5*) JS第5天 对象

目录

1:创建对象

2:工厂模式创建对象

复习

正文

 1:调用系统构造函数创建对象

 <script>
    //创建对象三种方式:
    /*
     *
     * 1.调用系统的构造函数创建对象
     * var 变量名= new Object(); Object 是系统的构造函数  Array
     *
     * 2.自定义构造函数创建对象(结合第一种和需求通过工厂模式创建对象)
     *
     *
     * 3.字面量的方式创建对象
     *
     * 4:工厂模式创建对象
     * */



    //第一种创建对象的方式
    //小苏举例子:
    //实例化对象
    var obj = new Object();
    //对象有特征---属性和行为---方法
    //添加属性-----如何添加属性?  对象.名字=值;
    obj.name = "小苏";
    obj.age = 38;
    obj.sex = "";
    //添加方法----如何添加方法? 对象.名字=函数;
    obj.eat = function () {
      console.log("我喜欢吃油炸榴莲凉拌臭豆腐和大蒜");
    };
    obj.play = function () {
      console.log("我喜欢玩飞机模型");
    };
    obj.cook = function () {
      console.log("切菜");
      console.log("洗菜");
      console.log("把菜放进去");
      console.log("大火5分钟");
      console.log("出锅");
      console.log("凉水过一下");
      console.log("放料,吃");
    };
    console.log(obj.name);//获取--输出了
    console.log(obj.age);
    console.log(obj.sex);
    //方法的调用
    obj.eat();
    obj.play();
    obj.cook();

    //练习:有一个黄色的小狗,叫大黄,今年已经三岁了,250斤的重量每次走路都很慢,喜欢吃大骨头
    //练习:创建一个手机对象,手机有型号,有颜色,可以打电话和发短信

  </script>

2:工厂模式创建对象

  <script>

    /*
     *
     * 如何获取该变量(对象)是不是属于什么类型的?
     * 语法:
     * 变量 instanceof 类型的名字----->布尔类型,true就是这种类型,false不是这种类型
     * 在当前的对象的方法中,可以使用this关键字代表当前的对象
     *
     *
     * */


    //人的对象
    //    var person=new Object();
    //    person.name="小白";
    //    person.age=10;
    //    person.sayHi=function () {
    //      //在当前这个对象的方法中是可以访问当前这个对象的属性的值
    //        console.log("您好,吃了没您,我叫:"+this.name);
    //    };
    //    //学生的对象
    //    var stu=new Object();
    //    stu.name="小芳";
    //    stu.age=18;
    //    stu.study=function () {
    //      console.log("学习,敲代码,今天作业四遍,我今年"+this.age+"岁了");
    //    };
    //    //小狗的对象
    //    var dog=new Object();
    //    dog.name="哮天犬";
    //    dog.say=function () {
    //      console.log("汪汪...我是哮天犬");
    //    };
    //
    //    //输出人是不是人的类型
    //    console.log(person instanceof Object);
    //    console.log(stu instanceof Object);
    //    console.log(dog instanceof Object);

    //对象不能分辨出到底是属于什么类型?

    //如何一次性创建多个对象?把创建对象的代码封装在一个函数中

    //工厂模式创建对象
    function createObject(name,age) {
      var obj = new Object();//创建对象
      //添加属性
      obj.name = name;
      obj.age = age;
      //添加方法
      obj.sayHi = function () {
        console.log("阿涅哈斯诶呦,我叫:" + this.name + "我今年:" + this.age);
      };
      return obj;
    }
    //创建人的对象
    var per1 = createObject("小芳",20);
    per1.sayHi();
    //创建一个人的对象
    var per2 = createObject("小红",30);
    per2.sayHi();


  </script>

3:

注意

猜你喜欢

转载自www.cnblogs.com/zyzmlc/p/11616750.html