我刚刚开始使用 JavaScript oops 概念,我想从构造函数中访问 3 个实例变量,而不使用“this”关键字,第一个值即将到来,但不是第二个......依此类推......`
function CreateObject()
{
var p1 = new person('chanky',25,'Male');
}
function person(name,age,sex)
{
this.name = name;
this.age = age;
this.sex = sex;
document.write(name); //Working
document.write(age); //not Working
document.write(sex); //not Working
/*If we use 'this' keyword then all are Working */
document.write(this.name); // Working
document.write(this.age); // Working
document.write(this.sex); // Working
}`
最佳答案
“这个”有什么问题?您想要访问未声明的成员,因此使用“this”。
您可以像这样访问类外部的值:
var p = new person('chanky',25,'Male');
alert (p.age);
function person(name,age,sex)
{
this.name = name;
this.age = age;
this.sex = sex;
}
如果您仍然担心,请声明一个变量并将收到的值分配给它们,并且当您使用面向对象方法时,封装变量以在类外部访问它们
function person(name,age,sex)
{
var _name;
var _age;
var _sex;
_name = name;
_age = age;
_sex = sex;
this.getName = function () {
return _name;
};
this.getAge = function () {
return _age;
};
this.getSex = function () {
return _sex;
};
}
并使用“方法”:
var p2 = new person('chanky',25,'Male');
alert (p2.getAge());
关于javascript - 从构造函数引用 Javascript 实例变量而不使用 'this' 关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31721349/