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

珠海网页模板建站wordpress程序结构

珠海网页模板建站,wordpress程序结构,网站文章编辑器代码,平台网站的策划设计prototype 属性的作用 JavaScript 规定#xff0c;每个函数都有一个prototype属性#xff0c;指向一个对象。 function f() {} typeof f.prototype // object ​ 上面代码中#xff0c;函数f默认具有prototype属性#xff0c;指向一个对象。 对于普通函数来…prototype 属性的作用 JavaScript 规定每个函数都有一个prototype属性指向一个对象。 function f() {} typeof f.prototype // object ​ 上面代码中函数f默认具有prototype属性指向一个对象。 对于普通函数来说该属性基本无用。但是对于构造函数来说生成实例的时候该属性会自动成为实例对象的原型。 构造函数的一个方法或者一个属性 function Animal(name) {this.name name; } Animal.prototype.color white; ​ var cat1 new Animal(大毛); var cat2 new Animal(二毛); ​ cat1.color // white cat2.color // white 上面代码中构造函数Animal的prototype属性就是实例对象cat1和cat2的原型对象。原型对象上添加一个color属性结果实例对象都共享了该属性。 Animal.prototype.color yellow; ​ cat1.color // yellow cat2.color // yellow 如果实例对象自身就有某个属性或方法它就不会再去原型对象寻找这个属性或方法。 总结一下原型对象的作用就是定义所有实例对象共享的属性和方法。这也是它被称为原型对象的原因而实例对象可以视作从原型对象衍生出来的子对象。 原型链 总结一下原型对象的作用就是定义所有实例对象共享的属性和方法。这也是它被称为原型对象的原因而实例对象可以视作从原型对象衍生出来的子对象。 如果一层层地上溯所有对象的原型最终都可以上溯到Object.prototype即Object构造函数的prototype属性。也就是说所有对象都继承了Object.prototype的属性。这就是所有对象都有valueOf和toString方法的原因因为这是从Object.prototype继承的。 那么Object.prototype对象有没有它的原型呢回答是Object.prototype的原型是null。null没有任何属性和方法也没有自己的原型。因此原型链的尽头就是null。 读取对象的某个属性时JavaScript 引擎先寻找对象本身的属性如果找不到就到它的原型去找如果还是找不到就到原型的原型去找。如果直到最顶层的Object.prototype还是找不到则返回undefined。如果对象自身和它的原型都定义了一个同名属性那么优先读取对象自身的属性这叫做“覆盖”overriding。 construction prototype对象有一个constructor属性默认指向prototype对象所在的构造函数。 function P() {} P.prototype.constructor P // true 由于constructor属性定义在prototype对象上面意味着可以被所有实例对象继承。 function P() {} var p new P(); ​ //应该有这个属性吗 p.constructor P // true ​ p.constructor P.prototype.constructor // true ​ p.hasOwnProperty(constructor) // false p小自身没有constructor属性 上面代码中p是构造函数P的实例对象但是p自身没有constructor属性该属性其实是读取原型链上面的P.prototype.constructor属性。 constructor属性的作用是可以得知某个实例对象到底是哪一个构造函数产生的。 另一方面有了constructor属性就可以从一个实例对象新建另一个实例。 function Constr() {} var x new Constr(); ​ var y new x.constructor(); y instanceof Constr // true 上面代码中x是构造函数Constr的实例可以从x.constructor间接调用构造函数。这使得在实例方法中调用自身的构造函数成为可能。 instanceof运算符 instanceof运算符返回一个布尔值表示对象是否为某个构造函数的实例。 var v new Vehicle(); v instanceof Vehicle // true 上面代码中对象v是构造函数Vehicle的实例所以返回true。 instanceof运算符的左边是实例对象右边是构造函数。它会检查右边构造函数的原型对象prototype是否在左边对象的原型链上。因此下面两种写法是等价的。 v instanceof Vehicle // 等同于 Vehicle.prototype.isPrototypeOf(v) 上面代码中Vehicle是对象v的构造函数它的原型对象是Vehicle.prototypeisPrototypeOf()方法是 JavaScript 提供的原生方法用于检查某个对象是否为另一个对象的原型详细解释见后文。 由于instanceof检查整个原型链因此同一个实例对象可能会对多个构造函数都返回true。 var d new Date(); d instanceof Date // true d instanceof Object // true 上面代码中d同时是Date和Object的实例因此对这两个构造函数都返回true。 由于任意对象除了null都是Object的实例所以instanceof运算符可以判断一个值是否为非null的对象。 var obj { foo: 123 }; obj instanceof Object // true ​ null instanceof Object // false 上面代码中除了null其他对象的instanceOf Object的运算结果都是true。 instanceof的原理是检查右边构造函数的prototype属性是否在左边对象的原型链上。有一种特殊情况就是左边对象的原型链上只有null对象。这时instanceof判断会失真。 var obj Object.create(null); typeof obj // object obj instanceof Object // false 上面代码中Object.create(null)返回一个新对象obj它的原型是nullObject.create()的详细介绍见后文。右边的构造函数Object的prototype属性不在左边的原型链上因此instanceof就认为obj不是Object的实例。这是唯一的instanceof运算符判断会失真的情况一个对象的原型是null。
http://www.ho-use.cn/article/10821790.html

相关文章:

  • 浙江省建设银行纪检官方网站天河网站建设企业
  • 北京网站优化哪家公司好爱客crm下载
  • 衡水提供网站设计公司哪家专业广东建设资格注册中心网站
  • 招代理的网站要怎么做微网站 方案
  • 河南省教育厅官方网站师德建设线上商城怎么推广
  • 容易收录的网站仿淘宝网站模板
  • 免费营销软件网站建设做网站用什么数据库好用
  • 如东做网站的公司深圳网站建设推广
  • 江海区建设局网站网站免费制作教程
  • 广东茶叶网站建设优化师培训机构
  • 做护肤品好的网站百度投流运营
  • 公司微信网站开发平台自己做网站免费
  • 怎么在自己的网站上做漂浮链接在线制作图片的免费软件
  • 婴儿睡袋网站建设建设网校
  • nginx缓存wordpressseo云优化外包
  • 做二手货车都做什么网站建设新闻博客类网站要多大空间
  • 凯里网站建设如何收费建设工程质量+协会网站
  • 做网站时怎么让边框细一点视频制作和剪辑
  • idc网站建设做美直播网站
  • 沈阳网站开发技术公司猎头公司的工作模式不包括
  • 免费的网站或软件网站开发给网站设置图标在什么文件中写代码
  • 上海高端网站建设定制wordpress插件微信营销
  • 网站加seo需要多少钱兴平市住房和城乡建设局门户网站
  • 查找网站后台入口网站中数据查询如何做
  • 肇庆企业网站建设建设ipv6网站
  • 海淘网站开发个人网站建站指南
  • 网站设计北京新设计外贸英文网站
  • 有哪些网站可以做全屏代码网站按照规模分为哪几类
  • 安徽省建设工程资料上传网站sem培训机构
  • 招聘网站做精准 置顶网站免费空间