说我有一个名为Foo的
JavaScript函数/类,它有一个名为bar的属性.我想要在类被实例化时提供bar的值,例如:
var myFoo = new Foo(5);
将myFoo.bar设置为5.
如果我做一个公共变量,那么这个工作,例如:
function Foo(bar) { this.bar = bar; }
但是如果我想让它私有,例如:
function Foo(bar) { var bar; }
那么我将如何设置私有变量条的值,使其可用于所有内部函数的foo?
解决方法
您必须将所有需要访问私有变量的函数放在构造函数中:
function Foo(bar) { //bar is inside a closure Now,only these functions can access it this.setBar = function() {bar = 5;} this.getBar = function() {return bar;} //Other functions } var myFoo = new Foo(5); myFoo.bar; //Undefined,cannot access variable closure myFoo.getBar(); //Works,returns 5
原文地址:https://www.jb51.cc/js/154573.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。