美文网首页
第二十一章 js面向对象

第二十一章 js面向对象

作者: 扶光_ | 来源:发表于2021-06-05 13:19 被阅读0次

    一,对象的创建

    对象是一种键值对的形式。
    js中所有事物都是对象:字符串,数值,数组...

    1.声明时添加

    写法:

                 var obj = {
                      first_name:"侯旭"
                   }
    

    2.先声明后添加

    写法:

            var obj1 = {};
             obj1.first_name = "侯旭";
    

    3.通过原生构造函数创建原生对象

    写法:

        var obj = new Object()  //通过原生构造函数创建原生对象
        obj.first_name = "侯旭";
        obj.age = 18;
        console.log(obj);
    
    • 那么我们要创建多个对象怎么创建呢?是不是以下这样创建

            var obj1 = {
            name:"老大"
           }
      
           var obj2 = {
            name:"老2"
           }
      
           var obj3 = {
            name:"老3"
           }
      

    但是我们会发现这样是不是很麻烦,所以来创建一个工厂模式

    二,工厂模式

    什么是工厂模式呢?
    简单来说:就是将创建对象的语句放在一个函数里面,里面传入的参数就是对象的属性值,就像一个车间一样。
    写法:

      // 创建一个函数  工厂
            function create(name,age,ah){
                var obj = new Object()
                obj.name = name;
                obj.age = age;
                obj.ah = ah;
                return obj;
            }
            //创建对象
            var obj1 = create("侯旭",18,"小姐姐")
            var obj2 = create("老破",48,"打人")
            var obj2 = create("张三",20,"吃饭")
            console.log(obj1);
            console.log(obj2);
            console.log(obj3);
    
    工厂模式
    这种写法也叫对象构造器 (都是根据接收的参数来创建不同的对象)
    instanceof 检测操作符

    检测实例的对象属不属于object原生构造函数格式中,如果属于,返回true ,不属于,返回false
    用法 :

     // 自定义构造函数
                function Person(name,age) {
                    this.name = name
                    this.age = age
                }
                var am = new Person("自己",18);
                console.log(am);
                console.log(am instanceof Person);//true
    
    instanceof
    检测这个对象属于不属于Person

    相关文章

      网友评论

          本文标题:第二十一章 js面向对象

          本文链接:https://www.haomeiwen.com/subject/nxeqeltx.html