JavaScript也可以玩私有方法

发布于 2022-10-15 04:14:45 字数 1742 浏览 15 评论 0

转:Darrel.Hsu

JavaScript也可以玩私有方法

JavaScript中有一个特性:任何两个对象都不相等也不全等

利用这个特点,我们也可以让JavaScript玩一个私有方法出来.

具体思路如下:

  我们利用Key对比的方式,如果Key相等则可以调用,否则就出错.当然也得把这个Key给藏起来.

  代码如下:

  1. ;;;(function(){  
  2.     var  Key = {} // 我们要用到有Key   
  3.     window['MyObj'] = {  
  4.         _say = function( msg , key ){  
  5.             if ( key !== Key ){  
  6.                  throw "This is a private method !"
  7.             }else{  
  8.                  alert( msg )  
  9.             }  
  10.         },  
  11.         say : function( msg ){  
  12.             this._say( msg , Key );  
  13.         }  
  14.     }  
  15.    }());

复制代码这样_say方法虽然外部可见,但调用的时候由于匿名函数外部拿不到这个Key故而就没办法在外部调用这个_say方法了.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文