您的位置:首页 > Web前端 > JavaScript

详解js私有作用域中创建特权方法

2016-01-25 00:00 656 查看
本文实例分享了js私有作用域中创建特权方法,供大家参考,具体内容如下

特权方法就是有权访问私有变量和私有函数的公有方法:

function MyObject(){
  var privateVariable = 10;
  function privateFunction(){
    return false;
  }
  this.publicMethod = function(){
    privateVariable ++;
    return privateFunction();
  };
}  
var x = new MyObject();
console.log(x.publicMethod()) ;//false


私有作用域中定义私有变量和函数,同样也可以创建特权方法,如:

(function(){
  var privateValue = 10;
  function privateFunction(){
    return false;
  }
  
  MyObject = function(){}; //没有var 属于全局变量,严格模式下会报错
  
  MyObject.prototype.publicMethod = function(){
    privateValue ++;
    return privateFunction();
  };
})();

var instance = new MyObject();
console.log(instance.publicMethod());


这里就可以看出实际上就是在私有作用域中定义了一个全局的构建函数;其中的一个方法就是返回私有作用域中的一个私有变量和属性。写成下面这样就可以更好地了解:

Obj = function(){};

(function(){
  var x = 10;
  function y(){
    return x + 10;
  }

  Obj.prototype.say = function(){
    console.log(y());
  };
})()

var ins = new Obj();
ins.say();


以上就是本文的全部内容,希望对大家的学习有所帮助。

您可能感兴趣的文章:

js变量以及其作用域详解
Javascript 面向对象(一)(共有方法,私有方法,特权方法)
JavaScript中的作用域链和闭包
JS特权方法定义作用以及与公有方法的区别
js作用域及作用域链概念理解及使用
JSP中 Session和作用域的使用
javascript 函数及作用域总结介绍
javascript中的作用域和上下文使用简要概述
深入理解JavaScript高级之词法作用域和作用域链
js基础知识(公有方法、私有方法、特权方法)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: