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

网站建设设计目的memcached wordpress

网站建设设计目的,memcached wordpress,微信防红短链接生成,广东手机版建站系统开发Javascript是一种基于对象#xff08;object-based#xff09;的语言#xff0c;你遇到的所有东西几乎都是对象。但是#xff0c;它又不是一种真正的面向对象编程#xff08;OOP#xff09;语言#xff0c;因为它的语法中没有class#xff08;类#xff09;。 那么object-based的语言你遇到的所有东西几乎都是对象。但是它又不是一种真正的面向对象编程OOP语言因为它的语法中没有class类。 那么如果我们要把属性property和方法method封装成一个对象甚至要从原型对象生成一个实例对象我们应该怎么做呢 一、 生成对象的原始模式 假定我们把猫看成一个对象它有名字和颜色两个属性。   var Cat {     name : ,     color :   } 现在我们需要根据这个原型对象的规格schema生成两个实例对象。   var cat1 {}; // 创建一个空对象     cat1.name 大毛; // 按照原型对象的属性赋值     cat1.color 黄色;   var cat2 {};     cat2.name 二毛;     cat2.color 黑色; 好了这就是最简单的封装了把两个属性封装在一个对象里面。但是这样的写法有两个缺点一是如果多生成几个实例写起来就非常麻烦二是实例与原型之间没有任何办法可以看出有什么联系。 二、 原始模式的改进 我们可以写一个函数解决代码重复的问题。   function Cat(name,color){     return {       name:name,       color:color     }   } 然后生成实例对象就等于是在调用函数   var cat1 Cat(大毛,黄色);   var cat2 Cat(二毛,黑色); 这种方法的问题依然是cat1和cat2之间没有内在的联系不能反映出它们是同一个原型对象的实例。 三、 构造函数模式 为了解决从原型对象生成实例的问题Javascript提供了一个构造函数Constructor模式。 所谓构造函数其实就是一个普通函数但是内部使用了this变量。对构造函数使用new运算符就能生成实例并且this变量会绑定在实例对象上。 比如猫的原型对象现在可以这样写   function Cat(name,color){     this.namename;     this.colorcolor;   } 我们现在就可以生成实例对象了。   var cat1 new Cat(大毛,黄色);   var cat2 new Cat(二毛,黑色);   alert(cat1.name); // 大毛   alert(cat1.color); // 黄色 这时cat1和cat2会自动含有一个constructor属性指向它们的构造函数。   alert(cat1.constructor Cat); //true   alert(cat2.constructor Cat); //true Javascript还提供了一个instanceof运算符验证原型对象与实例对象之间的关系。   alert(cat1 instanceof Cat); //true   alert(cat2 instanceof Cat); //true 四、构造函数模式的问题 构造函数方法很好用但是存在一个浪费内存的问题。 请看我们现在为Cat对象添加一个不变的属性type种类再添加一个方法eat吃老鼠。那么原型对象Cat就变成了下面这样   function Cat(name,color){     this.name name;     this.color color;     this.type 猫科动物;     this.eat function(){alert(吃老鼠);};   } 还是采用同样的方法生成实例   var cat1 new Cat(大毛,黄色);   var cat2 new Cat (二毛,黑色);   alert(cat1.type); // 猫科动物   cat1.eat(); // 吃老鼠 表面上好像没什么问题但是实际上这样做有一个很大的弊端。那就是对于每一个实例对象type属性和eat()方法都是一模一样的内容每一次生成一个实例都必须为重复的内容多占用一些内存。这样既不环保也缺乏效率。   alert(cat1.eat cat2.eat); //false 能不能让type属性和eat()方法在内存中只生成一次然后所有实例都指向那个内存地址呢回答是可以的。 五、 Prototype模式 Javascript规定每一个构造函数都有一个prototype属性指向另一个对象。这个对象的所有属性和方法都会被构造函数的实例继承。 这意味着我们可以把那些不变的属性和方法直接定义在prototype对象上。   function Cat(name,color){     this.name name;     this.color color;   }   Cat.prototype.type 猫科动物;   Cat.prototype.eat function(){alert(吃老鼠)}; 然后生成实例。   var cat1 new Cat(大毛,黄色);   var cat2 new Cat(二毛,黑色);   alert(cat1.type); // 猫科动物   cat1.eat(); // 吃老鼠 这时所有实例的type属性和eat()方法其实都是同一个内存地址指向prototype对象因此就提高了运行效率。   alert(cat1.eat cat2.eat); //true 六、 Prototype模式的验证方法 为了配合prototype属性Javascript定义了一些辅助方法帮助我们使用它。 6.1 isPrototypeOf() 这个方法用来判断某个proptotype对象和某个实例之间的关系。   alert(Cat.prototype.isPrototypeOf(cat1)); //true   alert(Cat.prototype.isPrototypeOf(cat2)); //true 6.2 hasOwnProperty() 每个实例对象都有一个hasOwnProperty()方法用来判断某一个属性到底是本地属性还是继承自prototype对象的属性。   alert(cat1.hasOwnProperty(name)); // true   alert(cat1.hasOwnProperty(type)); // false 6.3 in运算符 in运算符可以用来判断某个实例是否含有某个属性不管是不是本地属性。   alert(name in cat1); // true   alert(type in cat1); // true in运算符还可以用来遍历某个对象的所有属性。   for(var prop in cat1) { alert(cat1[prop]cat1[prop]); } 转载于:https://www.cnblogs.com/mingjixiaohui/p/5503012.html
http://www.zqtcl.cn/news/721517/

相关文章:

  • 潍坊作风建设年网站上海到北京火车时刻表查询
  • 网站建设 项目要求手机软件app
  • 什么是做网站wordpress 七牛视频
  • 家乡网站建设策划书angular做的网站
  • 土豆网网站开发源代码thinkphp5做的网站
  • lng企业自建站wordpress 分页 美化
  • 手机版网站如何做新闻类网站怎么做百度推广
  • 网站开发工程师 上海合肥网站到首页排名
  • 商城网站后续费用请人代做谷歌外贸网站
  • 汽车网站有哪些3d家装效果图制作软件
  • 荆门做网站公众号的公司网站百度不收录的原因
  • 专门做羽毛球的网站福州seo网站排名
  • 网站返回503的含义是门户网站开发合同
  • 自己做网站的成本要哪些东西wordpress模板如何管理系统
  • 做一般的网站要多久wordpress写文章页面无法显示
  • 人和兽做的网站视频汽车建设网站开发流程
  • 长春市建设工程造价管理协会网站厦门网站建设费用
  • 广东建设信息公开网站怎样策划一个营销型网站
  • 魔兽做图下载网站如何经营一个购物网站
  • 深圳做网站哪个平台好一级消防工程师考试题型
  • 网站婚礼服务态网站建设论文网站设计有限公司是干嘛的
  • 邯郸网站建设效果好广西做网站的公司
  • 网站logo上传营销型网站制作方案
  • 小说网站静态模板站长工具seo综合查询adc
  • 北京响应式网站做logo那个网站
  • 如何申请免费网站空间刚察县wap网站建设公司
  • 哪里有网站推广软件免费推广seo策略方法
  • 阿里云备案网站 网站名称怎么写京icp备案查询
  • 网站开发岗位思维导图alexa排名
  • 自适应网站建设济南济南网站建设公司