构造函数中的方法和函数
这个问题在这里已经有了答案:
所有的方法都是功能; 并非所有功能都是方法。 使用你的例子:
function myObj() {
this.result = "RESULT: ";
// is this a method or a function ?
function innerFunc(a, b) {
return a + b;
//alert(this.result) not possible
}
this.sum = function(a, b) {
alert(this.result + innerFunc(a, b));
}
}
如果你做了var x = new myObj();
你会有x
有两个属性: result
,它被设置为“RESULT:”和sum
,这是一个需要2个参数的函数。
但是,它没有名为innerFunc
的属性。 这是从x
内部完全可用的,即在构造函数或方法中,例如sum
。
所以x.sum
是一个方法,它是一个函数,但innerFunc
是一个不是方法的函数。