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

创意活动策划网站高端装修公司门头设计效果图

创意活动策划网站,高端装修公司门头设计效果图,房产网站模板,网站开发 项目内容javascript继承分为两种#xff1a;类式继承#xff08;原型链、extend函数#xff09;、原型式继承#xff08;对继承而来的成员的读和写的不对等性、clone函数#xff09;。 类式继承--prototype继承#xff1a; 1 function Person(name){2 this.name …javascript继承分为两种类式继承原型链、extend函数、原型式继承对继承而来的成员的读和写的不对等性、clone函数。 类式继承--prototype继承 1 function Person(name){2 this.name name;3 }4 Person.prototype.getName function(){5 return this.name;6 }7 8 //继承9 function Author(name,books){ 10 Person.call(this,name); 11 this.books books; 12 } 13 Author.prototype new Person(); 14 Author.prototype.constructor Author; 15 Author.prototype.getBooks function(){ 16 return this.books; 17 } 18 19 var author new Author(zap,javascript程序设计); 20 console.log(author); 类式继承--extend函数 1 function extend(subClass,superClass){2 var F function(){};3 F.prototype superClass.prototype;4 subClass.prototype new F();5 subClass.prototype.constructor subClass;6 7 subClass.superClass superClass.prototype;8 if(superClass.prototype.constructor Object.prototype.constructor){9 superClass.prototype.constructor superClass; 10 } 11 } 12 13 14 /*Class Person*/ 15 16 function Person(name){ 17 this.name name; 18 } 19 Person.prototype.getName function(){ 20 return this.name; 21 } 22 23 function Author(name,books){ 24 Author.superClass.constructor.call(this,name); 25 // Person.call(this,name); 26 this.books books; 27 } 28 extend(Author,Person); 29 Author.prototype.getBooks function(){ 30 return this.books; 31 } 32 33 var author new Author(zap,javascript程序设计); 34 console.log(author); 35 console.log(author.getName()); 36 console.log(author.getBooks()); 原型式继承--clone函数(原型式继承更能节约内存) 1 var Person {2 name:zap,3 age:26,4 toString:function(){5 console.log(this.name this.age); 6 }7 }8 9 var author clone(Person); 10 author.name zap; 11 author.toString(); 12 13 function clone(object){ 14 function F(){} 15 F.prototype object; 16 return new F; 17 }  附上以类式继承实现的就地编辑demo原型式方式实现和类式继承方式相差无几不在此列举。 1 !DOCTYPE html2 html3 head4 meta charsetUTF-85 title类式继承解决方案/title6 style typetext/css7 #doc{width:500px; height:300px; border:1px solid #ccc; margin:10px auto;}8 /style9 /head10 body11 div iddoc/div12 /body13 /html14 script typetext/javascript15 16 function EditInPlaceField(id,parent,value){17 this.id id;18 this.value value || default value;19 this.parentElement parent;20 21 this.createElements(this.id);22 this.attachEvents();23 }24 25 EditInPlaceField.prototype {26 createElements:function(id){27 this.createContainer();28 this.createShowPanel();29 this.createEnterPanel();30 this.createControlBtns();31 this.convertToText();32 },33 //创建容器34 createContainer:function(){35 this.containerElement document.createElement(div);36 this.parentElement.appendChild(this.containerElement);37 },38 createShowPanel:function(){39 this.staticElement document.createElement(span);40 this.containerElement.appendChild(this.staticElement);41 this.staticElement.innerHTML this.value;42 },43 createEnterPanel:function(){44 this.fieldElement document.createElement(input);45 this.fieldElement.type text;46 this.fieldElement.value this.value;47 this.containerElement.appendChild(this.fieldElement);48 },49 createControlBtns:function(){50 this.saveButton document.createElement(input);51 this.saveButton.type button;52 this.saveButton.value Save;53 this.containerElement.appendChild(this.saveButton);54 55 56 this.cancelButton document.createElement(input);57 this.cancelButton.type button;58 this.cancelButton.value Cancel;59 this.containerElement.appendChild(this.cancelButton);60 },61 attachEvents:function(){62 var that this;63 addEvent(this.staticElement,click,function(){that.convertToEditable();});64 addEvent(this.saveButton,click,function(){that.save();});65 addEvent(this.cancelButton,click,function(){that.cancel();});66 },67 convertToEditable:function(){68 this.staticElement.style.display none;69 this.fieldElement.style.display inline;70 this.saveButton.style.display inline;71 this.cancelButton.style.display inline;72 73 this.setValue(this.value);74 }, 75 save:function(){76 this.value this.getValue();77 var that this;78 var callback {79 success:function(){80 that.convertToText();81 },82 failure:function(){83 alert(Error saving value.);84 }85 };86 87 ajaxRequest(get,save.php?id,callback);88 },89 cancel:function(){90 this.convertToText();91 },92 convertToText:function(){93 this.fieldElement.style.display none;94 this.saveButton.style.display none;95 this.cancelButton.style.display none;96 this.staticElement.style.display inline;97 98 this.setValue(this.value);99 }, 100 setValue:function(value){ 101 this.fieldElement.value value; 102 this.staticElement.innerHTML value; 103 }, 104 getValue:function(){ 105 return this.fieldElement.value; 106 } 107 } 108 109 //事件绑定 110 function addEvent(element,type,fn){ 111 if(element.addEventListener){ 112 element.addEventListener(type,fn,false); 113 }else if(element.attachEvent){ 114 element.attachEvent(on type,fn); 115 }else{ 116 element[on type] fn; 117 } 118 } 119 //ajax请求 120 function ajaxRequest(type,url,callback){ 121 callback.success(); 122 } 123 //extend 124 function extend(subClass,superClass){ 125 var F function(){}; 126 F.prototype superClass.prototype; 127 subClass.prototype new F(); 128 subClass.prototype.constructor subClass; 129 130 subClass.superClass superClass.prototype; 131 if(superClass.prototype.constructor Object.prototype.constructor){ 132 superClass.prototype.constructor superClass; 133 } 134 } 135 136 //子类 137 function EditInPlaceArea(id,parent,value){ 138 EditInPlaceArea.superClass.constructor.call(this,id,parent,value); 139 }; 140 extend(EditInPlaceArea,EditInPlaceField); 141 142 //override 143 EditInPlaceArea.prototype.createShowPanel function() { 144 this.staticElement document.createElement(p); 145 this.containerElement.appendChild(this.staticElement); 146 this.staticElement.innerHTML this.value; 147 } 148 149 EditInPlaceArea.prototype.createEnterPanel function(){ 150 this.fieldElement document.createElement(textarea); 151 this.fieldElement.value this.value; 152 this.containerElement.appendChild(this.fieldElement); 153 } 154 155 EditInPlaceArea.prototype.convertToEditable function(){ 156 this.staticElement.style.display none; 157 this.fieldElement.style.display block; 158 this.saveButton.style.display inline; 159 this.cancelButton.style.display inline; 160 161 this.setValue(this.value); 162 } 163 164 EditInPlaceArea.prototype.convertToText function(){ 165 this.fieldElement.style.display none; 166 this.saveButton.style.display none; 167 this.cancelButton.style.display none; 168 this.staticElement.style.display block; 169 this.setValue(this.value); 170 } 171 172 var titleClassical new EditInPlaceArea(titleClassical,document.getElementById(doc),title here); 173 174 /script View Code   转载于:https://www.cnblogs.com/tengri/p/5271952.html
http://www.zqtcl.cn/news/767916/

相关文章:

  • 免费发布租房信息网站wordpress页面回收站
  • 长网页网站信息技术教案 建设我们的网站
  • 免费网站建设可信吗wordpress divi布局
  • 网站百度不收录wordpress偽靜態
  • 沈阳php网站建网站需要学什么
  • WordPress多站点绑定域名百度帐号注册
  • 网站营销队伍网站建设明薇通网络
  • 做网站的公司重庆万网x5 wordpress
  • 印刷设计营销网站网站设置成黑白
  • 百度自助建站官网上海徐汇网站建设
  • 网站定制 北京贵阳网站建设公司哪家好
  • 如何做logo模板下载网站企业策划
  • 合肥做网站的公司讯登欧亚达网站是哪家公司做的
  • 网站模板带有sql后台下载企业网站建设平台的功能
  • 网站推广的实际案例电子商务网站建设的要求
  • 永平建设有限公司网站2023一般纳税人企业所得税怎么算
  • 创业网站推广怎么做简单的网站首页
  • 外贸网站模板 外贸网站制作如何推广宣传一个品牌
  • 中企动力企业邮箱 手机邮箱河南网站建设优化推广
  • 广州seo网站多少钱王野天津音乐广播电台图片
  • 东莞网站制作十强怎么做一个链接网站
  • 深圳网站设计 建设首选wordpress 获取父页面
  • 大兴企业网站建设公司wordpress谷歌字体优化
  • 哈尔滨建设银行网站网站建设运营服务商
  • 重庆本地建站企业网站建设流程及费用
  • 网站建设需要用到那些语言简述网站建设和推广评价指标
  • 17网站一起做 佛山印刷做网站网上接单
  • 网站建设步骤 优帮云网站建设首选定制开发
  • 专门做家居的网站国内企业网站设计
  • 做网站时怎么取消鼠标悬停性价比最高网站建设