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

网站后台不能粘贴文章网站软文写作要求

网站后台不能粘贴文章,网站软文写作要求,购物网站开发uml图,做的比较好的游戏网站说明#xff1a;该文属于 大前端全栈架构白宝书专栏#xff0c;目前阶段免费#xff0c;如需要项目实战或者是体系化资源#xff0c;文末名片加V#xff01;作者#xff1a;哈哥撩编程#xff0c;十余年工作经验, 从事过全栈研发、产品经理等工作#xff0c;目前在公司… 说明该文属于 大前端全栈架构白宝书专栏目前阶段免费如需要项目实战或者是体系化资源文末名片加V作者哈哥撩编程十余年工作经验, 从事过全栈研发、产品经理等工作目前在公司担任研发部门CTO。荣誉2022年度博客之星Top4、2023年度超级个体得主、谷歌与亚马逊开发者大会特约speaker、全栈领域优质创作者。 白宝书系列 启示录 - 攻城狮的自我修养 Python全栈白宝书 ChatGPT实践指南白宝书 产品思维训练白宝书 全域运营实战白宝书 大前端全栈架构白宝书 文章目录 ⭐ 原型和原型链⭐ hasOwnProperty方法和in运算符⭐ 在prototype上添加方法 ⭐ 原型和原型链 原型和原型链是实现JavaScript继承的主要机制许多面向对象的特性如类的方法继承等都是基于原型和原型链的。 在JavaScript中每个对象都有一个特殊的内部属性[[Prototype]]它是对象的原型。原型也就是其他对象的引用每个对象都从原型“继承”属性。 原型链是通过同样的[[Prototype]]属性链接起来的形成了一条链状结构。“原型链”就是对象通过[[Prototype]]属性引用其他对象然后通过这些对象再引用其他对象如此形成的一条链状结构。 当我们访问对象的某个属性时JavaScript会首先在该对象自身的属性中查找如果没有找到那么JavaScript会在该对象的[[Prototype]]原型对象中查找如果还是没有找到那么JavaScript就会继续在原型的原型中查找即在原型链上向上查找直到找到属性或者查找到null原型链的末端为止。如果在原型链的最顶端也没有找到这个属性那么就会返回undefined。这就是原型链在JavaScript属性查找中的作用。 prototype原型。任何函数都有prototype属性。 prototype属性值是个对象它默认拥有constructor属性指回函数 下面我们来敲一个例子证明prototype这个属性的存在再看一下它的具体功能 function sum(a, b) {return a b; }console.log(sum.prototype); console.log(typeof sum.prototype); // object console.log(sum.prototype.constructor); console.log(sum.prototype.constructor sum); // true;证明protoype的constructor属性指向原函数对于普通函数来说prototype属性没有任何用处而构造函数的prototype属性非常有用构造函数的prototype属性是它的实例的原型 下面我们看下一张图来解释什么叫做“构造函数的prototype属性是它的实例的原型” 乍一看这个图并不能理解其中的含义只是知道构造函数、构造函数的prototype属性和构造函数的实例三者之间存在一种“三角”关系。我们来敲一下代码从代码维度来理解这三者的关系 function People(name, age, sex) {this.name name;this.age age;this.sex sex; } // 实例化 var xiaoming new People(小明, 12, 男); // 测试三角关系是否存在 console.log(xiaoming.__proto__ People.prototype); // true上面的代码只是证明了构造函数、构造函数的prototype属性和构造函数的实例存在的这种三角关系但这个关系到底在编写代码中有什么作用呢答案是我们可以利用这个三角关系实现“原型链查找”。 JavaScript规定实例可以打点访问它的原型的属性和方法这被成为“原型链查找” 示例代码 function People(name, age, sex) {this.name name;this.age age;this.sex sex; } // 往原型上添加nationality属性 People.prototype.nationality 中国; var xiaoming new People(小明, 12, 男); console.log(xiaoming.nationality); console.log(xiaoming);当实例化对象打点调用某个属性时系统发现它本身没有这个属性此时并不会报错而是回去查找它的“原型”上有没有这个属性如果有则会把这个属性输出。 下面把上面的例子延伸一下我们在People这个构造函数再实例化一个对象这个对象本身就有nationality属性那我们用这个对象打点调用nationality属性时会返回什么呢示例代码 function People(name, age, sex) {this.name name;this.age age;this.sex sex; } // 往原型上添加nationality属性 People.prototype.nationality 中国;// 实例化 var xiaoming new People(小明, 12, 男); var tom new People(Tom, 11, 男); tom.nationality 美国;console.log(xiaoming.nationality); console.log(xiaoming); console.log(tom.nationality); // 美国可以看到如果这个实例化对象本身就有nationality属性时打点会直接访问到这个属性而不是去访问原型上的nationality属性这个就是原型链的遮蔽效应。 ⭐ hasOwnProperty方法和in运算符 hasOwnProperty方法可以检查对象是否真正“自己拥有”某属性或者方法 和hasOwnProperty方法有些类似的是in运算符 in运算符只能检查某个属性或方法是否可以被对象访问不能检查是否是自己的属性或方法 示例代码 function People(name, age, sex) {this.name name;this.age age;this.sex sex; } // 往原型上添加nationality属性 People.prototype.nationality 中国;// 实例化 var xiaoming new People(小明, 12, 男);console.log(xiaoming.hasOwnProperty(name)); // true console.log(xiaoming.hasOwnProperty(age)); // true console.log(xiaoming.hasOwnProperty(sex)); // true console.log(xiaoming.hasOwnProperty(nationality)); // falseconsole.log(name in xiaoming); // true console.log(age in xiaoming); // true console.log(sex in xiaoming); // true console.log(nationality in xiaoming); // true⭐ 在prototype上添加方法 之前在实例化对象时是直接往实例化对象上添加方法实例化多少个对象就会在内存中创建多少个方法这些方法虽然名字相同但在内存中的地址是不同的敲一段代码来验证一下 function People(name) {this.name name;this.sayHello function () {}; } // 实例化 var xiaoming new People(xiaoming); var xiaobai new People(xiaobai); var xiaohei new People(xiaohei);console.log(xiaoming.sayHello xiaobai.sayHello);把方法直接添加到实例身上的缺点每个实例和每个实例的方法函数都是内存中不同的函数造成了内存的浪费 如果把方法添加到prototype身上就可以避免这个问题将上面的例子改造后代码如下 function People(name) {this.name name;} //把方法写到原型上 People.prototype.sayHello function () {console.log(您好我是 this.name); } // 实例化 var xiaoming new People(xiaoming); var xiaobai new People(xiaobai); var xiaohei new People(xiaohei);xiaoming.sayHello(); xiaobai.sayHello(); xiaohei.sayHello(); console.log(xiaoming.sayHello xiaobai.sayHello);把方法写在原型上是聪明有效的避免内存重复占用的方式我们一定要习惯使用这种写法。
http://www.zqtcl.cn/news/192428/

相关文章:

  • 电商网站设计公司立找亿企邦山东德州网站建设哪家最好
  • 免费自建网站工具网站建设公司那个好
  • wordpress集成环境搭建短视频优化
  • 做网站一般把宽度做多少中国企业报集团官网
  • 什么软件可以建网站网站建设应该计入什么费用
  • 网站制作 手机版重庆网站建设mswzjs
  • 网站建设犀牛云品牌建设方案和思路
  • 网络管理系统的管理软件抖音优化推广
  • 昆山市有没有做网站设计的交互设计研究生
  • 本地网站asp iiswordpress 感染支付宝
  • 成都最专业做网站的wordpress升级500
  • 做网站首页图的规格网站建设的市场分析
  • a032网站模版自己建立网站怎么建
  • wordpress.商品厦门做网站优化价格
  • 学校网站建设源码视频生成链接网站
  • 江苏建设工程招投标网站wordpress 全部tags
  • 十堰网站建设有哪些公司wordpress删除摘要
  • 网站的功能和特色网页设计公司哪个济南兴田德润实惠吗
  • 汕头建站模板泰安建设银行网站
  • 服装平台网站有哪些网站开发 零基础
  • 致设计网站官网建设购物网站需要多少费用
  • 网站后台程序河南政务网站建设排名
  • 重庆建站网站建设平台wordpress插件使用数量
  • 规范网站建设情况的报告政务服务网站建设性建议
  • 麻涌做网站个人证书查询网全国联网
  • 做毕业设计网站的步骤那家做网站比较好
  • 网站开发学习网wordpress 数据库 插件
  • 企业公司官网网站做网站怎样做
  • 网站建设 今网科技电商网站建设布局
  • 最优惠的网站优化管理培训机构