我是 JavaScript 中面向对象编程的新手。我不确定以下程序有什么问题:
function Sample() {
var data = "one";
var getData = function () {
return data;
};
this.getter = function () {
getData();
};
}
var s = new Sample;
alert(s.getter()); // alerts undefined
上面的程序没有像我预期的那样工作,但是下面的程序可以:
function sample() {
var data = "one";
var getData = function () {
return data;
};
this.getter = function () {
return getData();
};
}
var s = new Sample;
alert(s.getter()); // alerts "one"
为什么会这样?