Java/Java开发框架 数据库相关教程 大数据相关教程 HTML/CSS相关教程 JavaScript/前端框架 开发工具相关教程 后端开发相关教程 Java开发技术 Java面试题库 Java架构设计 大数据资讯 大数据技术 大数据应用 Python开发技术 HTML HTML5 CSS JavaScript jQuery Vue AngularJS MySQL Oracle SQLServer MongoDB Redis

javascript封装是什么?

发布时间:2019-08-26 09:07:08  作者:本站编辑  来源:本站原创  浏览次数:

摘要:这篇JavaScript栏目下的“javascript封装是什么?”,介绍的技术点是“javascript封装、JavaScript、是什么、封装”,希望对大家开发技术学习和问题解决有帮助。JavaScript中的封装即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别。

封装,即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。

为什么要封装?

大家在日常开发过程中,具有相同处理逻辑的代码通常会进行函数的封装来减少代码的冗余,使代码看起来更优雅美观,那么

当多个实体对象他们拥有相同的一些属性和行为(方法)时,自然也要把这些相同的属性和行为抽象出来,减少不必要的代码。

封装数据

JavaScript没有提供private、public、protected等关键字来实现不同的访问权限,只能依赖变量的作用域来实现封装特性,而且只能模拟出private、public两种封装性。

除了ES6中提供的let以外,一般通过函数来创建作用域。

var obj = (function() {
  var name = "Alice"; // 模拟private变量
  return {
    getName: function() { // 模拟public方法
      return name;
    }
  }
})();
console.log(obj.name); // 输出:undefined
console.log(obj.getName()); // 输出:Alice

封装实现

从封装实现细节来讲,封装使得对象内部的变化对其他对象而言是透明的,也就是不可见的,对象对自己的行为负责,其他对象或用户不关心其内部实现。

封装使得对象之间的耦合变松散,对象之间只通过暴露的API接口来通信。修改一个对象时,可以随意修改它的内部实现,只要对外的接口没有变化,就不会影响程序的其他功能。

例如,迭代器的作用是在不暴露一个聚合对象的内部表示的前提下,提供一种方式来顺序访问这个聚合对象,若有一个each函数,则使用它的人不必关心其内部实现,只有它可以提供正确的功能即可,即使each函数修改了源代码,只要对外的接口或调用方式没有变化,用户就不必关心其内部实现的改变。

封装类型

封装类型是静态类型语言的一种重要封装方式。一般而言,封装类型是通过抽象类和接口来进行的,将对象的类型隐藏到抽象类或接口之后,相比对象的类型,用户更关心对象的行为。在许多静态类型语言的设计模式中,会想方设法地隐藏对象的类型,促使工厂模式、组合模式等设计模式诞生。

在JavaScript中,并没有对抽象类和接口的支持,在封装类型方面,JavaScript没有能力。

以上就是javascript封装是什么?的详细内容,更多请关注Java大数据社区其它相关文章!

文章关键词: javascript封装 JavaScript 是什么 封装

  • 0

    开心

  • 0

    板砖

  • 0

    感动

  • 0

    有用

  • 0

    疑问

  • 0

    难过

  • 0

    无聊

  • 0

    震惊

评论已有 0

相关文章

加载更多