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

时间:2021-05-25

本文实例分享了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();

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章