位置: 编程技术 - 正文

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

  • 税收收入包括哪些形式
  • 初级税务师什么时候报名
  • 商会费用会计分录
  • 向职工支付困难证明材料
  • 新个税法申报的税种
  • 年终奖影响社保公积金基数吗
  • 对公账户发工资1万要交税吗
  • 建筑业工人工资保障
  • 掌握无形资产核算方法
  • 网上代购收取手机费吗
  • 会计分录怎么确认借贷方向
  • 代办企业开户
  • 企业购买扶贫物资怎么入账
  • 增值税税负率是按年算吗
  • 设计费开专用发票几个点
  • 土地使用税怎么征收标准
  • 汇算所得税中“以前年度多缴的所得税额在本年抵减额”怎么填 ?
  • 不动产所占份额
  • 中药材收购需要纳税吗
  • qqpcrtp.exe是什么进程 如何删除qqpcrtp进程
  • 苹果系统怎么修复
  • 专设销售机构的各项经费应列支什么科目
  • 先支付后收到发票怎么做账
  • rtlrack.exe - rtlrack是什么进程 有什么用
  • linux vim
  • icon files
  • RuntimeError: CUDA out of memory 已解决
  • 企业接受股权投资概念政府基金
  • shine.exe - shine是什么进程 有什么用
  • 观察者模式 mvc
  • 事业单位自营
  • 视图的定义和操作实验报告
  • Vue中 Vue-Baidu-Map基本使用
  • js生成条形码的方式有哪些
  • zgrep命令详解
  • 贷款减值准备怎么进损益类账户
  • 汇算清缴交税怎么做账务处理
  • 应该是下个月
  • 普通增值税发票会计科目如何写?
  • 关联方计提坏账准备如何规定
  • 发票替票该怎么做账
  • 利润分配转作股本的股利属于什么科目
  • 汽修厂的发票开的是什么票
  • 母子公司关联交易规定
  • 公司注销实收资本有余额怎么处理
  • 小规模纳税人适用什么会计准则
  • 独立法人企业关系怎么写
  • 设备融资租赁如何算综合利率
  • 无偿捐赠产品会计分录
  • 少数股东权益如何保障
  • 小规模纳税人所得税怎么计算
  • 打样费入什么科目
  • 购买方已认证销售方作废
  • 社保申报工伤怎么操作
  • 存货报废如何做账
  • 员工宿舍的物业费可以抵扣进项税吗
  • 固定资产实务训练题目及答案
  • 其他应付款转实收资本走什么程序
  • 财税讲座视频
  • 哪些资产减值可以转回哪些不可转回
  • 64位CentOs7源码安装mysql-5.6.35过程分享
  • netdrive mac
  • 优盘安装xp
  • win edge
  • ubuntu每次开机都会进入grub
  • ubuntu下添加新用户
  • linux邮件设置方法
  • mac火狐浏览器flash插件设置
  • android内存分析显示
  • unity怎么设置多个关卡
  • 用yum安装samba
  • 焦点问题是什么
  • ubuntu下安装win10
  • 发票单位可以开一批吗?
  • 中国裁判文书怎么查个人案件
  • 国家税务总局39号文
  • 房产税纳税义务时间
  • 浙江摩托车上牌条件
  • 湖北退役士兵退伍费
  • 福建莆田社保局在哪里
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设