JS几种常用的设计模式

一 ,什么是工厂模式

由一个工厂对象决定对象创建某一种产品对象的的实例。主要用来创建同一类对象。

 function student(name,age,sex){
     
            var obj={
     "name":name,
                    "age":age,
                    "sex":sex,
                    "say":function(){
     
                console.log("我喜欢吃",this.name);
            }}
            return obj;
        }

        var one=student("张三","20","男");
        var two=student("李四","21","男");

        console.log(one);
        console.log(two);

二 ,什么是原型模式

用原型实例指向向创建创建对象的类,使用于创建新的对象的类的共享原型的属性方法。

 function s(){
     

            }
            s.prototype.name="hhhhh";

            var one=new s();
            var two=new s();

            two.__proto__.name="ssss";
            console.log("one",one);
            console.log("two",two);

三,什么是构造函数模式

构造函数是可以创建特定类型对象的函数,可以接受参数定义函数成员

 function Student(name){
     
            this.name=name;
        
            this.say=function(){
     
                console.log(this.name);
            }
        }
        var one=new Student("战三");
        var two=new Student("张四");

        console.log(one);
        console.log(two)
        console.log(one instanceof Student)

四,组合模式

组合模式是一种专为创建Web上的动态用户界面量身定制的模式.使用这种模式可以用一条命令在多个对象上激发复杂的递归的行为.
它可以用来把一批子对象组织成树形结构,并且使整棵树都可被遍历.所有组合对象都实现了一个用来获得子对象的方法.

 function Student(name,age){
     
            this.name=name;
            this.age=age;
        }
        Student.prototype.say=function(){
     
            console.log("哈哈哈哈哈",this.name)
        }
        var one=new Student("123",12);
        var two=new Student("111",10);
        console.log(one);
        console.log(one instanceof Student) 
        console.log(two  instanceof Student) 

你可能感兴趣的:(js,javascript,css,jquery)