不,没有办法。这基本上是相反的范围。
在构造函数内部定义的方法可以访问私有变量,因为所有函数都可以访问定义它们的作用域。
在原型上定义的方法未在构造函数的范围内定义,并且将无法访问构造函数的局部变量。
您仍然可以拥有私有变量,但是如果希望在原型上定义的方法可以访问它们,则应该在
this对象上定义getter和setter ,原型方法(以及其他所有方法)
都 可以访问它们。例如:
function Person(name, secret) { // public this.name = name; // private var secret = secret; // public methods have access to private members this.setSecret = function(s) { secret = s; } this.getSecret = function() { return secret; }}// Must use getters/setters Person.prototype.spillSecret = function() { alert(this.getSecret()); };
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)