首页 > web前端 > js教程 > 正文

如何在 JavaScript 中实现私有方法?

Susan Sarandon
发布: 2024-11-03 14:36:03
原创
903 人浏览过

How Can You Implement Private Methods in JavaScript?

在 JavaScript 中实现私有方法

虽然 JavaScript 本身不支持类中私有方法的概念,但有一个解决方法可以实现类似的效果。通过避免在类的原型中定义私有方法,您可以创建只能在类的实例中访问的方法。

考虑以下代码片段:

<code class="javascript">function Restaurant() {
    var myPrivateVar;

    // Private method
    var private_stuff = function() {
        myPrivateVar = "I can set this here!";
    }

    // Public methods
    this.use_restroom = function() {
        private_stuff();
    }

    this.buy_food = function() {
        private_stuff();
    }
}</code>
登录后复制

在此示例中, private_stuff 函数被定义为 Restaurant 函数本身的私有方法。这意味着它只能在 Restaurant 的实例内访问,不能被外部调用。

公共方法 use_restroom 和 buy_food 都可以访问私有方法 private_stuff,允许它们执行特定操作,而无需向用户暴露实现细节

<code class="javascript">// Create a new instance of Restaurant
var restaurant = new Restaurant();

// Call public methods
restaurant.use_restroom();
restaurant.buy_food();

// Attempting to call private method externally will fail
restaurant.private_stuff(); // Uncaught ReferenceError: private_stuff is not defined</code>
登录后复制

通过采用此解决方法,您可以有效地创建类的外部用户无法访问的私有方法,同时允许内部方法与它们交互。但是,需要注意的是,该方法并没有提供完全封装,因为私有方法仍然存在于函数作用域中,尽管可访问性有限。

以上是如何在 JavaScript 中实现私有方法?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板