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

公司网站改版多少钱万维网 网站 主页 网页

公司网站改版多少钱,万维网 网站 主页 网页,社交网站开发,企业网站建设及推广研究在 JavaScript 中#xff0c;私有方法是指只能在类的内部使用#xff0c;外部无法访问的函数。为了实现这一点#xff0c;JavaScript 提供了几种方法#xff0c;主要通过以下几种方式来创建私有方法#xff1a; 1. 使用 ##xff08;私有字段和方法#xff09; 从 ECM…在 JavaScript 中私有方法是指只能在类的内部使用外部无法访问的函数。为了实现这一点JavaScript 提供了几种方法主要通过以下几种方式来创建私有方法 1. 使用 #私有字段和方法 从 ECMAScript 2022 (ES13) 开始JavaScript 引入了 # 语法来声明私有字段和私有方法。这些字段和方法只能在类的内部访问外部无法访问。 示例 class MyClass {// 私有字段#privateField;constructor() {this.#privateField 42;}// 私有方法#privateMethod() {console.log(This is a private method.);}// 公共方法用于访问私有字段和调用私有方法publicMethod() {console.log(this.#privateField); // 访问私有字段this.#privateMethod(); // 调用私有方法} }const obj new MyClass(); obj.publicMethod(); // 正常输出 // obj.#privateMethod(); // Error: Private method #privateMethod is not accessible outside class在这个例子中#privateField 和 #privateMethod 都是私有的无法通过类的实例访问外部方法或字段。 2. 使用闭包适用于函数式编程 在 JavaScript 的函数式编程中可以使用闭包来创建私有方法。通过将方法定义在构造函数内部使其无法在外部直接访问。 示例 function MyClass() {let privateField 42;// 私有方法function privateMethod() {console.log(This is a private method.);}// 公共方法this.publicMethod function() {console.log(privateField);privateMethod();}; }const obj new MyClass(); obj.publicMethod(); // 正常输出 // console.log(obj.privateField); // undefined // obj.privateMethod(); // TypeError: obj.privateMethod is not a function在这个示例中privateField 和 privateMethod 通过闭包被封装外部无法直接访问它们。 3. 使用 Symbol通过符号创建私有字段 你还可以使用 Symbol 来创建私有字段和方法。虽然它们不完全是“私有”的但可以防止外部直接访问。 示例 const privateMethodSymbol Symbol(privateMethod);class MyClass {constructor() {this[privateMethodSymbol] function() {console.log(This is a private method.);};}publicMethod() {this[privateMethodSymbol]();} }const obj new MyClass(); obj.publicMethod(); // 正常输出 // obj[privateMethodSymbol](); // Error: obj[privateMethodSymbol] is not a function虽然使用 Symbol 可以在某种程度上防止外部访问但它并不是真正的私有只是增加了访问的难度。 4. 使用 WeakMap将方法和数据封装在 WeakMap 中 WeakMap 是一种特殊的数据结构可以用来存储私有数据。每个实例对象都可以与私有数据绑定这些数据仅能通过 WeakMap 访问。 示例 const privateData new WeakMap();class MyClass {constructor() {const data {privateField: 42,privateMethod: function() {console.log(This is a private method.);}};privateData.set(this, data);}publicMethod() {const data privateData.get(this);console.log(data.privateField);data.privateMethod();} }const obj new MyClass(); obj.publicMethod(); // 正常输出 // console.log(privateData.get(obj).privateField); // Error: undefined在这个示例中privateData 使用 WeakMap 将私有数据和方法与对象实例绑定外部无法直接访问这些数据。 总结 使用 # 可以直接创建私有字段和私有方法ES13。使用闭包可以在函数式编程中封装私有数据和方法。Symbol 提供了一种稍微“私有”的方式但不是完全私有。WeakMap 可以结合实例创建真正封装的数据。 你可以根据需要选择最合适的方法来实现私有方法。
http://www.dnsts.com.cn/news/152115.html

相关文章:

  • 陕西整站关键词自然排名优化学院网站建设需求说明书
  • 利用建站系统wordpress建设网站怎么知道网站是某个公司做的
  • 艺术网站制作如何修改wordpress模板栏目的属性
  • 唐山建设工程造价信息网站增强网站互动
  • 网站建设及上线流程深圳建筑图片大全高清
  • 元氏县城有做网站广告的吗wordpress后台添加导航
  • 网站开发之ios知识扩展旅游电网站建设目标
  • 唐山网站建设策划免费的拓客平台有哪些
  • 网站建设服务费应该算什么科目外贸网站如何建站
  • 青冈网站建设财税公司做网站
  • 网站空间代理加盟给赌场做网站
  • 精美合同网站建设广东响应式网站
  • 南宁网站建公司电话开源企业网站内容管理系统
  • 长沙app网站开发优秀网页设计作品案例欣赏
  • 网站如何做链接企业系统查询官网
  • 邯郸企业做网站方案贵金属交易平台app最新排名
  • 专做正品 网站wordpress子站点打不开
  • 义乌市做网站网站建设简单合同
  • 长春网站建设wang企业网站建设后期维护费用
  • 网站域名及空间购买网站推广优化教程
  • 淘宝联盟填网站备案重庆镇海seo整站优化价格
  • 做网站中的镜像是什么免费推广的途径与原因
  • 电子商务网站建设的首要问题沧州app商城定制开发
  • 肥西县建设官方局网站比较好的商城网站设计
  • 网站建设之前必须 域名备案wordpress api 查询
  • 什么可以放置网站内容镇江做网站要多少钱
  • 有限公司网站建设 中企动力佛山wordpress revslider
  • 无网站营销建站官网模板
  • 浙江省交通工程建设集团网站奎屯网站制作
  • 公司网站表达的内容龙岗网页设计价格