位置: 编程技术 - 正文

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

  • 捐赠支出增值税
  • 一般纳税人企业所得税多久申报一次
  • 税务机关内部控制措施
  • 应交税金怎么算出来的
  • 私车公用去税务局开什么发票
  • 主营业务成本的数据从哪里来的
  • 应收账款的账龄在年报的哪里
  • 办税人员绑定企业审核谁审核
  • 个税申报缴费
  • 车辆购置税如何查询
  • 期房购置税怎么算
  • 计提的应付利息怎么冲回
  • 原材料投资入股协议约定价值公允价值
  • 营改增后建筑安装发票
  • 对公账户上扣缴的税怎么做分录?
  • 哪些项目可以在城镇开发边界外
  • 未收到房租是否缴纳增值税
  • 工程款中包含增值税怎么处理
  • 个人出租房屋税款代征点电话
  • 如何设置win7系统密码
  • 结转净利润到利润分配
  • 所得税汇算清缴时间期限
  • 以前年度损益调整结转到哪里
  • php和aspnet哪个好
  • linux传输数据
  • 工程施工科目借贷方向
  • iphone11 iphone10区别
  • 固定资产折旧折完了
  • 企业无偿提供劳务
  • 业务招待费会计分录
  • php测试mysql 数据库连接
  • 怎样把htm文件转成excel
  • 迭代器,生成器
  • 中草药进销差价会计分录
  • javascript网页自动化
  • 毕业设计基础
  • 计算机视觉的应用
  • dvwa靶场搭建sql注入
  • react生命周期详解
  • 区块链教程大全
  • linux执行php脚本
  • ps一个页面怎么选中画板
  • html+css网页设计
  • 非金融企业之间借款
  • 对公账户的种类有几种
  • 筹资费用可以算成本吗
  • 累计盈余的借方
  • 社保年审流程示意图
  • 新准则经营租赁 提折旧
  • 如何查询开出的电子发票
  • 个人所得税手续费返还增值税申报表怎么填
  • 电子税务局增值税抵扣流程
  • 怎么才能获得音乐
  • 冲减应收账款该怎么处理
  • 总公司与分公司账务处理
  • 失控发票进项税转出成本调整
  • 固定资产清理的税率是多少
  • 会计账本怎么记账
  • 安卓系统强制竖屏
  • OS X 10.10 Yosemite的新特性与iOS联系更紧密
  • msoia.exe是什么程序
  • Linux如何查看硬盘分区
  • win7适用ie几
  • cocos2dx 3.5 ”hello world“解析
  • js中的
  • JavaScript中的NaN代表什么
  • echarts splitnumber
  • Android游戏开发实践指南
  • windows pytorch
  • 安卓开发代码大全
  • js引用传递
  • js获取父窗口
  • jquery写下拉框
  • 1+征收率
  • 小微企业企业所得税是多少?
  • 河南查询税务登记怎么查
  • 增值税借方有余额怎么调整
  • 国家税务总局2016年17号公告
  • 延安市地方税务局电话
  • 租的土地自己盖的厂房,厂房怎么摊销
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设