博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js原生之一个面向对象的应用
阅读量:6255 次
发布时间:2019-06-22

本文共 957 字,大约阅读时间需要 3 分钟。

function IElectricalEquipment() {

        }
        IElectricalEquipment.prototype = {
            poweron: function () {
            },
            poweroff: function () {
            }
        };
        function Fan(){//电风扇
        }
        Fan.prototype=new IElectricalEquipment;
        Fan.prototype.poweron=function(){
            console.log("Fan'power on")
        };
        Fan.prototype.poweroff=function(){
            console.log("Fan'power off")
        };
        function Light(){//电灯
        }
        Light.prototype=new IElectricalEquipment;
        Light.prototype.poweron=function(){
            console.log("Light'power on")
        };
        Light.prototype.poweroff=function(){
            console.log("Light'power off")
        };
        var createSwitch=(function () {
            function Switch(){
                this.equipment=null;
            }
            Switch.prototype={
                on:function(){
                    this.equipment.poweron();
                },
                off:function(){
                    this.equipment.poweroff();
                }
            };
            return function(){
                return new Switch();
            }
        }());
        var myLight=new Light();
        var myFan=new Fan();
        var FanSwitch=createSwitch();
        FanSwitch.equipment=myFan;
        FanSwitch.on();
        FanSwitch.off();
        FanSwitch.equipment=myLight;
        FanSwitch.on();
        FanSwitch.off();

转载地址:http://kejsa.baihongyu.com/

你可能感兴趣的文章
AI伦理无法回避的5个问题:生物进化是否有方向?
查看>>
一半人将因人工智能失业?麻省理工科学家表示太可笑!
查看>>
‘生逢其时’的文化IP该如何借力科技?_创成汇
查看>>
java B2B2C Springcloud电子商城系统--------负载均衡(Load Balance)
查看>>
Java springcloud B2B2C o2o多用户商城 springcloud架构 (一)服务的注册与发现(Eureka)...
查看>>
手把手教你写电商后台管理系统(七) - 用户模块
查看>>
比特币、比特币现金的下一步是什么?Craig Wright博士说,可替代现金
查看>>
字节码执行引擎-类加载及执行子系统的案例与实战
查看>>
微软整合实验(三):AD域环境的搭建,基于Server 2008 R2
查看>>
Linux 用户管理
查看>>
linux 终端颜色代码
查看>>
oracle的drop命令
查看>>
用R语言和java实现随机生成手机号码
查看>>
Oracle DG 之-- Remove DG Broker
查看>>
5.2 let it snow--game programming gems 5 笔记
查看>>
解决error: Failed dependencies:libodbc.so.2()的错误
查看>>
SCOM 2012系列⑤邮件通知上
查看>>
ionic3 引入jquery
查看>>
Unable to connect to the MKS: Internal error after cloning
查看>>
How to check server memory model for extend the physical memory
查看>>