当前位置: 首页 > news >正文

网站咨询界面设计大丰专业做网站

网站咨询界面设计,大丰专业做网站,html 图片展示网站,开发企业门户网站单例模式工厂模式状态模式观察者模式桥接模式 设计模式#xff08;是一种通过经验中总结出来的经过反复验证能够解决一类通用问题的可以反复重用的就可称它为模式#xff0c;否则只能称为功能模块#xff09;#xff1b;模式#xff1a;把解决问题的方法抽取出来#xff… 单例模式工厂模式状态模式观察者模式桥接模式 设计模式是一种通过经验中总结出来的经过反复验证能够解决一类通用问题的可以反复重用的就可称它为模式否则只能称为功能模块模式把解决问题的方法抽取出来形成一种通用范例 单例模式 单例模式只需要一个对象产生不需要反复产生多个对象 headlink relstylesheet href3.util.css /head bodybutton onclicktest()弹出遮罩层/buttonscript src3.util.js/scriptscriptlet myObj{};//json数据就是依照单例模式的概念产生的数据模式let obj{name:月月,age:24,method1:{f1(){return f1;},f2(){return f2;}}}//弹出遮罩层案例function test() {/*let divcreateDiv(); //返回的对象div.show();*/createDiv();}/script /body3.util.js文件 /*let createDivfunction () {let divdocument.createElement(div);div.classNamelayer;document.body.appendChild(div); // 放到页面显示出来let showfunction () {div.style.displayblock;document.body.style.overflowhidden}return {show,}//应该只create一次不然每次点击都创建div可能会造成反复叠加 }*/// 正确写法 let createDiv(function () {let div;return function () {if(divundefined){divdocument.createElement(div);div.classNamelayer;document.body.appendChild(div)}let showfunction () {div.style.displayblock;document.body.style.overflowhidden}show();} })()3.util.css文件 body{height: 1500px; } .layer{position: absolute;top:30px;left:0;width: 100%;height: 100%;background-color: black;opacity: 0.3;display: none; }效果 示例: /*野兽约美女主动微信联系1.需要两个对象美女野兽2.需要通过微信3.先看美女有没有微信如果有微信就直接通过微信联系如果没有就先安装微信4.两个单例之间开始通信 *///野兽 let yeShou{callMeiNv:function (msg) {let MnmeiNv.getMessage(msg);alert(Mn.weChar)} }//美女 let meiNv(function () { //meiNv{}let wxAppfunction(message) { //微信构造函数this.weCharmessage}let weChar;let info{ //美女信息getMessage:function (message) {console.log(message)if(!weChar){ //没有微信weCharnew wxApp(message)}return weChar; //对象wxmini.wxmini}}return info; })()yeShou.callMeiNv(一起吃饭吗)工厂模式 //类似于做架构只需要调函数传参数 function createPerson() {function Person() {//一定会得到人但是是个什么样的人不确定弊端是不留接口的话Person()不能扩展}let anew Person();return a; } // new Person(); 不可用因为Person()在createPerson()中改不到 createPerson();function Plane() {} Plane.prototype.speed30; //可随意更改模板//原型模式 function student() {} student.prototype.name月亮; student.prototype.workfunction () {}//构造函数 function myStudent(name) {this.namename;this.workfunction () {} } console.log(new myStudent(月月)) //有constructor属性/* 原型构造工作中使用*/ function emp(name) {this.namename; } // emp.prototype.workfunction () { // // } 有constructor属性emp.prototype{work(){},study(){},//解决没有constructor属性自己加上去constructor:emp } console.log(new emp(月亮)) //没有constructor属性class Demo{constructor() {//属性}//方法 }状态模式 button onclickmyMove(jump)跳/button button onclickmyMove(run)跑/button button onclickmyMove(walk)走/buttonscriptfunction myMove(a) {obj[a]();}let obj{jump(){console.log(跳)},run:function () {console.log(跑)},walk(){console.log(走)}}/*let obj{method1(){console.log(method1)},method2(){console.log(method2)},method3(){console.log(method3)},}let a1;if(a1){obj.method1()}else if(a2){obj.method2()}else if (a3){obj.method3()}let amethod1;obj[a]();*/ /script观察者模式 div idbox观察者模式/divscriptdocument.getElementById(box).addEventListener(click, function () {alert(hello 世界)})//vue---Object.defineProperty() 参考js笔记中的数据双向绑定原理/*观察者模式属于行为模式的一种定义了一对多的依赖关系让多个观察者同时监听一个主题对象这个主题对象在状态发生变化的时候会通知所有的观察者使他们自动更新。和观察者模式很像的发布订阅模式*/ /script桥接模式 桥接方式降低代码耦合度 !-- input typebutton value300x300 idinp1 οnclickchangeSize(this) input typebutton value500x500 idinp2 οnclickchangeSize(this) input typebutton value700x700 idinp3 οnclickchangeSize(this) --input typebutton value300x300 idinp1 input typebutton value500x500 idinp2 input typebutton value700x700 idinp3divimg srcduorou.jpg alt /divscript//普通方式:/*function changeSize(obj) {let btnValueobj.value;btnValuebtnValue.split(x)console.log(btnValue)let size{width:btnValue[0],height:btnValue[1]}let imgObjdocument.getElementsByTagName(img)[0];imgObj.style.widthsize.widthpx;imgObj.style.heightsize.heightpx;}*///桥接方式降低代码耦合度let changeSizefunction (btnValue) {let bValuebtnValue.split(x);let size{width:bValue[0],height:bValue[1]}let imgObjdocument.getElementsByTagName(img)[0];imgObj.style.widthsize.widthpx;imgObj.style.heightsize.heightpx;}// changeSize(100x100) 每一段都可以单独执行//桥let changeSizeBridgefunction (e) {let vale.target;console.log(val.value);changeSize(val.value)}//绑定事件function addEvent(eleObj,eName,eMethod) { //3个参数元素对象事件名称方法let objdocument.getElementById(eleObj); //找到页面的节点if(clickeName){obj.onclickfunction () {eMethod(event)}}}addEvent(inp1,click,changeSizeBridge)addEvent(inp2,click,changeSizeBridge)addEvent(inp3,click,changeSizeBridge)/script
http://www.tj-hxxt.cn/news/133995.html

相关文章:

  • 360如何做网站怎么做网站规划
  • 流媒体网站开发深圳华强北现在能去吗
  • 韩国做游戏的电影 迅雷下载网站wordpress免费淘宝客主题
  • 大型电子商务网站建设国家工信部网站备案查询系统
  • 怎么制作网站程序什么是网络营销哪些行业
  • 下载网站如何做网建网站
  • 专门做土特产的网站网站开发什么意思
  • 南城仿做网站python源码分享网站
  • 不适合学编程的人推广seo优化公司
  • 苏州吴中区做网站网页一键生成小程序
  • 蓝一互动网站建设广州新塘网页设计培训
  • 中国工商银行官网网站哪家编程机构的性价比比较高
  • 旅行社网站建设需求分析江苏省建设网站一号通
  • 网站建设加推广长春网站制作报价
  • 了解互联网 网站华城建设集团有限公司官方网站
  • 织梦设置中英文网站wordpress用户名更改
  • 网站不备案可以做微信小程序么中信建设有限责任公司定州
  • 青岛网络建站公司wordpress设置视频
  • 网站建设时间 人力及成本估算企业为什么要开发网址
  • 长春小程序开发制作论坛如何做seo
  • 三门峡市住房的城乡建设局网站公司建立网站的费用如何做帐
  • 扬州网站seo哈尔滨做网站需要多少钱
  • 网站后台管理密码忘了免费制作商标
  • 网站设计企业初中信息技术 网站制作
  • 高青县住房和城乡建设局网站网站首页源码
  • 优秀个人网站推荐旅游网站开发实训报告
  • 湖北海厦建设有限公司网站建设网站多久到账
  • 昌乐哪里有做网站的单位网站建设 管理制度
  • 用ip地址做网站地址有危险群晖 搭建wordpress
  • 网站备案需要准备哪些资料四川省工程建设信息网站