位置: 编程技术 - 正文

理解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题)

  • 期末应交税费有余额吗
  • 税务师职业考试
  • 以前年度多计管账怎么做
  • 业务招待费进项税额转出表二
  • 通货膨胀的含义及通货膨胀率的计算
  • 银行承兑汇票背书可以拆分
  • 小微企业免税销售额和其他免税销售额
  • 购买了材料怎么做账
  • 应付职工薪酬会产生暂时性差异吗
  • 高速公路通行费电子发票怎么打印
  • 怎么核算金融企业收入
  • 计提的利息汇算清缴前没发放,需要交企业所得税吗
  • 销售中有运费收入吗
  • 增值税设备抵扣怎么抵扣
  • 同城酒店怎么开发票
  • 进项虚假怎么处理
  • 资金与费用
  • 税控盘费用抵减增值税的账务处理
  • 城建税一定要当月缴纳吗
  • 免抵退免抵额何时申报附加税?
  • 企业所得税退税怎么做账务处理
  • 利润表中的其他综合收益
  • 腾讯电脑管家流量监控不显示
  • 蓝屏代码0xc000000f
  • 冲减多计提的工会经费调账说明
  • mac老款设备怎样升级os14
  • php如何实现多进程
  • 股东实缴出资的证明
  • 职工医疗保险补交6万与交居民每交300哪个合算?
  • PHP:iconv_set_encoding()的用法_iconv函数
  • 拉尔韦橡
  • 防伪税控服务费怎么交
  • 布莱顿小镇介绍
  • 快速上手:华硕路由器的wireguard服务器
  • mount.nfs an incorrect mount
  • 遍历目录文件
  • 财务费用的利息费用怎么算
  • 工会经费计提比例是2%还是0.8%
  • 出租车计入什么费
  • 非金融企业之间借款
  • 网络费用属于什么费用
  • 一般纳税人购进免税农产品如何抵扣进项税额
  • 应交税费月末要结平
  • 转账支票只能去开户行买吗?
  • 残疾人保障金所属期怎么填
  • 生产性资金性质
  • 年均复合增长率该怎么算?
  • 其他综合收益的概念
  • 如何结转完工入库的产品成本
  • 出售子公司股权给其他公司
  • 机场工作人员的家属票
  • 计提坏账准备金是什么意思
  • 个体工商户的个税起征点
  • 补开发票交税
  • 费用报销冲抵借支
  • 营改增后营业费用科目还有吗
  • 银行收到货款会计分录怎么做
  • 人工安装费是几个点税税率
  • 自来水差额征税申报表填写
  • 其他应付款转营业外收入摘要怎么写
  • 其他应收款可以挂公司吗
  • 增值税系统技术维护费 减免政策
  • solaris ssh offline
  • windowsxp如何清理磁盘
  • 如何在mac中安装windows
  • linux系统干嘛的
  • u盘做pe后还能存储吗
  • HTML:scrollLeft,scrollWidth,clientWidth,offsetWidth完全详解
  • django rest framework和django区别
  • python jsonp
  • 举例讲解生产可能性曲线
  • 怎么利用python处理批量表格
  • 绿化项目利润
  • 房产税什么时候开始征收
  • 资产划转是什么会计科目
  • 销售不动产增值税税率
  • 广东税务数字化平台官网
  • 销售皮棉税率为多少
  • 地方税务局发票管理所
  • 综述与系统综述
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设