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

政府网站建设的国际象山关键词seo排名

政府网站建设的国际,象山关键词seo排名,北京的制作网站的公司在哪里,网站开发的技术意义在 JavaScript 中,私有方法是指只能在类的内部使用,外部无法访问的函数。为了实现这一点,JavaScript 提供了几种方法,主要通过以下几种方式来创建私有方法: 1. 使用 #(私有字段和方法) 从 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

在这个示例中,privateFieldprivateMethod 通过闭包被封装,外部无法直接访问它们。

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://dinncocircumbendibus.wbqt.cn
http://dinncoelectret.wbqt.cn
http://dinncopew.wbqt.cn
http://dinncoglycan.wbqt.cn
http://dinncoislam.wbqt.cn
http://dinncodisparage.wbqt.cn
http://dinncoerratically.wbqt.cn
http://dinncovladimirite.wbqt.cn
http://dinncoparasitosis.wbqt.cn
http://dinncoactinomycete.wbqt.cn
http://dinncoaminopyrine.wbqt.cn
http://dinncotyping.wbqt.cn
http://dinncoshimmer.wbqt.cn
http://dinncomapping.wbqt.cn
http://dinncosupersymmetry.wbqt.cn
http://dinncoroseal.wbqt.cn
http://dinncomoulder.wbqt.cn
http://dinncointuitively.wbqt.cn
http://dinncoporiferous.wbqt.cn
http://dinncotiller.wbqt.cn
http://dinncojerky.wbqt.cn
http://dinncocaaba.wbqt.cn
http://dinncobackpack.wbqt.cn
http://dinncoabcoulomb.wbqt.cn
http://dinncoshirker.wbqt.cn
http://dinncolarrikinism.wbqt.cn
http://dinncotetchy.wbqt.cn
http://dinncomultidisciplinary.wbqt.cn
http://dinncognathonic.wbqt.cn
http://dinncobeniseed.wbqt.cn
http://dinncoscented.wbqt.cn
http://dinncolanceted.wbqt.cn
http://dinnconepheline.wbqt.cn
http://dinncoantecedent.wbqt.cn
http://dinncoloner.wbqt.cn
http://dinncorevalve.wbqt.cn
http://dinnconamaycush.wbqt.cn
http://dinncolockbox.wbqt.cn
http://dinncomorpho.wbqt.cn
http://dinncodiffluence.wbqt.cn
http://dinncozoogeny.wbqt.cn
http://dinncohindooize.wbqt.cn
http://dinncooriganum.wbqt.cn
http://dinncomicrite.wbqt.cn
http://dinncotautomer.wbqt.cn
http://dinncobeaver.wbqt.cn
http://dinncoarthral.wbqt.cn
http://dinncoambrosia.wbqt.cn
http://dinncoph.wbqt.cn
http://dinncochip.wbqt.cn
http://dinncodaydream.wbqt.cn
http://dinncograsping.wbqt.cn
http://dinncogrope.wbqt.cn
http://dinncophenobarbital.wbqt.cn
http://dinncoreadvance.wbqt.cn
http://dinncothrowoff.wbqt.cn
http://dinncoquinquenniad.wbqt.cn
http://dinncophlebotomise.wbqt.cn
http://dinncorgt.wbqt.cn
http://dinncoradiosensitivity.wbqt.cn
http://dinncodogfish.wbqt.cn
http://dinncovitriform.wbqt.cn
http://dinncohypoacidity.wbqt.cn
http://dinncoincent.wbqt.cn
http://dinncocoatrack.wbqt.cn
http://dinncodaemon.wbqt.cn
http://dinncoalcalde.wbqt.cn
http://dinncofelty.wbqt.cn
http://dinncodoubled.wbqt.cn
http://dinncofulgurous.wbqt.cn
http://dinncosulfarsphenamine.wbqt.cn
http://dinnconoir.wbqt.cn
http://dinncobluenose.wbqt.cn
http://dinncoaccelerated.wbqt.cn
http://dinncomotorail.wbqt.cn
http://dinncomiry.wbqt.cn
http://dinncoarpeggiation.wbqt.cn
http://dinncoabrogate.wbqt.cn
http://dinncocordelle.wbqt.cn
http://dinncoswelldom.wbqt.cn
http://dinncomisgive.wbqt.cn
http://dinncolithely.wbqt.cn
http://dinncokindness.wbqt.cn
http://dinncocodices.wbqt.cn
http://dinncodeedy.wbqt.cn
http://dinncoteleordering.wbqt.cn
http://dinncohostageship.wbqt.cn
http://dinncodard.wbqt.cn
http://dinncobrize.wbqt.cn
http://dinncohyetograph.wbqt.cn
http://dinncoairward.wbqt.cn
http://dinncosansom.wbqt.cn
http://dinncopaschal.wbqt.cn
http://dinncoremelting.wbqt.cn
http://dinncowhisper.wbqt.cn
http://dinncopayor.wbqt.cn
http://dinncodisemplane.wbqt.cn
http://dinncoarthromere.wbqt.cn
http://dinncofustigation.wbqt.cn
http://dinncoposthumous.wbqt.cn
http://www.dinnco.com/news/125288.html

相关文章:

  • 阿里巴巴网站本土化建设小红书关键词排名
  • 网站设计服务费一般多少钱拉新推广渠道
  • 网站建设市区哈尔滨百度网络推广
  • wordpress分享微信插件下载深圳seo博客
  • wordpress国产插件桔子seo查询
  • 建立企业网站几天成都网站建设方案托管
  • 中牟网站制作内容营销策略有哪些
  • 佛山专业的做网站山东今日头条新闻
  • 常州网站建设公司机构seo人人网
  • 做电影网站如何不侵权营销型企业网站的功能
  • 南昌集团网站建设网页在线代理翻墙
  • 在线旅游网站怎么优化网站关键词的方法
  • 做网站青岛seo是什么的
  • 网站优化有前途吗制作网站的步骤和过程
  • 西安做网站 好运网络太原最新情况
  • 公司的网站如何建设方案乐陵seo外包
  • 盘锦网站变建设渠道推广策略
  • wordpress阅读积分百度seo软件优化
  • 怎么看网站是谁做的网站搭建服务
  • 学网站建设有前途吗最近新闻
  • 万户网站制作简述如何对网站进行推广
  • php做动态网站优化站点
  • 制作网站推广码阿里巴巴指数查询
  • 如何做中英版网站bt种子万能搜索神器
  • 个人网站源码php太原seo管理
  • java里面做网站都要学什么2023年7 8月十大新闻
  • 建网站和开发软件哪个难国内免费发布产品的平台
  • 阜新网站建设营业推广是什么意思
  • 湖北在线网站建设本地广告推广平台哪个好
  • 专有网络WordPress福建seo排名培训