位置: 编程技术 - 正文

理解javascript封装(js封装是什么意思)

编辑:rootadmin

推荐整理分享理解javascript封装(js封装是什么意思),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascript的理解,js封包,js 函数封装,javascript的理解,js封闭函数,javascript封装,javascript封装,js 函数封装,内容如对您有帮助,希望把文章链接给更多的朋友!

封装可以被定义为对对象的内部数据表现形式和实现细节进行隐藏。通过封装可以强制实施信息隐藏。

在JavaScript中,并没有显示的声明私有成员的关键字等。所以要想实现封装/信息隐藏就需要从另外的思路出发。我们可以使用闭包的概念来创建只允许从对象内部访问的方法和属性,来达到封装的要求。

基本方式一般来说,我们学用的有三种方法来达到封装的目的。

使用this.XXX来声明一个变量,然后再声明getXXX、setXXX等取值、赋值的方法。使用this._XXX来声明一个变量,然后再声明getXXX、setXXX等取值、赋值的方法。利用“函数作用域”这一个概念来做。1. 门户大开型

使用这种方法实现的封装,虽然实现了取值器与赋值器以保护私有属性。但是在实际使用中,私有属性依然可以从外部访问,所以从根本上讲,没有实现封装。

2. 用命名规范进行区别

使用这种方法与第一种类似,区别在于使用不同的命名来保护私有属性的使用。但是,从实际应用来说其仍然没有实现封装。

理解javascript封装(js封装是什么意思)

3. 使用函数作用域

由于在JavaScript的函数中声明的变量是有作用域的,所以使用这种方法可以避免在外部直接访问私有属性。基本达到封装所要求的内容。

这里要注意的是,我们在函数的内部,可以使用this.XXX以及var来声明变量。区别是使用this.XXX声明的变量在外部是可以访问的。使用var声明的变量,由于受到函数作用域的保护,在函数的外部是无法直接访问的。

4. 使用函数作用域的变形

这种方法是直接返回一个构造器的执行。且这里的构造器是一个内嵌函数。

这种方法的优点是“在内存中只会存在一份。因为其他静态方法被声明在构造器之外,所以它们不是特权方法。”

判断一个方法是否应该被设计为静态方法的原则是“这个方法是否会访问私有属性”。如果它不需要,那么将其设计为静态方法会更有效率,因为它只会被创建一份。

常量我们可以使用“只有取值器,没有赋值器”的方式来实现常量。

利弊1、利处

封装保护了内部数据的完整性;封装使对象的重构更轻松;弱化模块间的耦合,提高对象的可重用性;有助于避免命名空间冲突;……2、弊处

私用方法很难测试;必须与复杂的作用域链打交道,使错误调度更困难;容易形成过度封装;JavaScript并不原生支持封装,所以在JavaScript中实现封装存在复杂性的问题;

标签: js封装是什么意思

本文链接地址:https://www.jiuchutong.com/biancheng/380418.html 转载请保留说明!

上一篇:学习Javascript面向对象编程之封装(javascript要学到什么程度)

下一篇:javascript每日必学之继承(javascript题)

  • 支持疫情防控捐赠语言
  • 个人是否可以申请精神司法鉴定
  • 一般纳税人开具专票和普票的区别
  • 股权分配利润应该怎么做账
  • 如何开增值税专用发票视频
  • 合伙企业投资收益
  • 企业内部控制调查问卷
  • 商业折扣应交税费
  • 小规模纳税人消费税怎么计算
  • 存在问题的具体表现和产生问题的原因分析
  • 房屋租赁后转租合法吗
  • 小规模都纳什么税
  • 修理厂专票怎么开
  • 预付的费用没有还没有收到发票
  • 技术转让免征增值税文件
  • win10如何获得管理员权限修改文件
  • xp系统为什么电脑不能用
  • 评估增值资产如何记账
  • Laravel 5.5中为响应请求提供的可响应接口详解
  • 苹果mac怎么删除照片
  • 固定资产内部抵消
  • kpk是什么文件
  • 购买电子承兑需要给对方开发票吗
  • 大家掌握的都很好 英语
  • php生成条形码的代码
  • 最新大麦抢票脚本
  • 集群怎么写
  • 日落时有什么变化
  • php trait用法
  • vue的actions
  • 建行E信通贴现需要发票吗
  • 公司发放加班补贴 固定金额
  • flutter项目怎么运行
  • vue的slice
  • 残保金如何缴纳残疾人工资如何扣除
  • 国有资产划转实施方案
  • 税控设备抵减增值税必须当月抵减吗
  • 我们现在收到的礼物
  • 增值税发票有什么用途和作用
  • phpcms是什么框架
  • mysql5.6解压版安装教程
  • 从农业生产者购进农产品
  • 个人经营所得税率
  • 个税出现负数是什么意思
  • 资金收益率的计算
  • mysql日志文件在哪
  • 退回企业所得税的账务处理
  • 应收账款核算内容
  • 现金支票存根联丢失怎么办
  • 酒店支付清洗费属于什么会计科目
  • 计算成本时应该考虑什么
  • 应纳税所得额收入总额包括
  • 记账凭证模板
  • win8.1ie浏览器在哪
  • swstrtr.exe - swstrtr是什么进程
  • mac查看下载
  • linux引导程序有哪些
  • win10自定义你的设备有什么用
  • 无法装win7
  • windows7默认网关不可用
  • win8系统如何关机
  • 安卓闹钟软件下载
  • python import同一目录的其他文件
  • perl中\s+
  • jquery焦点
  • pycharm安装教程2020.2
  • node.js入门教程
  • 基于Python的图书推荐系统
  • python库怎么用
  • 全屏沉浸式
  • 每天一篇日记
  • jquery隐藏和显示div
  • jquery的each循环
  • python5.7汉诺塔
  • python sco
  • wordpress基于什么语言
  • 北京通个人认证
  • 一般纳税人租赁费税率
  • 党员走访群众问题汇总
  • 自来水公司服务热线电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设