相关疑难解决方法(0)

从原型定义的函数访问私有成员变量

有没有办法制作"私有"变量(在构造函数中定义的变量),可用于原型定义的方法?

TestClass = function(){
    var privateField = "hello";
    this.nonProtoHello = function(){alert(privateField)};
};
TestClass.prototype.prototypeHello = function(){alert(privateField)};
Run Code Online (Sandbox Code Playgroud)

这有效:

t.nonProtoHello()
Run Code Online (Sandbox Code Playgroud)

但这不是:

t.prototypeHello()
Run Code Online (Sandbox Code Playgroud)

我习惯在构造函数中定义我的方法,但由于一些原因,我正在远离它.

javascript private-members

184
推荐指数
9
解决办法
11万
查看次数

构造函数可以返回哪些值以避免返回此值?

除了this使用new关键字调用构造函数之外,Javascript中的return语句可以返回一个值的具体情况是什么?

例:

function Foo () {
  return something;
}

var foo = new Foo ();
Run Code Online (Sandbox Code Playgroud)

如果我没有弄错,if something是非函数原语,this将被返回.否则something返回.它是否正确?

IOW,可以something采取什么样的价值观(new Foo () instanceof Foo) === false

javascript constructor new-operator

87
推荐指数
1
解决办法
2万
查看次数