JavaScript也可以玩私有方法
JavaScript也可以玩私有方法
JavaScript中有一个特性:任何两个对象都不相等也不全等
利用这个特点,我们也可以让JavaScript玩一个私有方法出来.
具体思路如下:
我们利用Key对比的方式,如果Key相等则可以调用,否则就出错.当然也得把这个Key给藏起来.
代码如下:
- ;;;(function(){
- var Key = {} // 我们要用到有Key
- window['MyObj'] = {
- _say = function( msg , key ){
- if ( key !== Key ){
- throw "This is a private method !"
- }else{
- alert( msg )
- }
- },
- say : function( msg ){
- this._say( msg , Key );
- }
- }
- }());
复制代码这样_say方法虽然外部可见,但调用的时候由于匿名函数外部拿不到这个Key故而就没办法在外部调用这个_say方法了.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论