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

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

2016-01-25 10:55 609 查看

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

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

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息