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方法了.

转载于:https://www.cnblogs.com/darrel/archive/2011/06/15/2081446.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值