当前我在获取document.write中的变量名称时遇到问题
function func(name, birth_date) {
this.name=name;
this.birth_date=birth_date;
this.atestatas=studijos;
}
function studijos(){
var egzas=2023-func.birth_date;
return egzas;
}
var Piotr=new func ("Piotr", 1995);
var Jonas=new func ("Jonas", 2001);
var Lukas=new func ("Lukas", 1999);
document.write (Piotr.atestatas());
document.write (Jonas.atestatas());
document.write (Lukas.atestatas());
如果我写的是变量egzas=2023-func.birth_date
,我得到的只是NaN,但是如果我写了变量名,例如:egzas=2023-Piotr.birth_date
,那么我得到正确的年份,直到考试。有没有让我得到价值的代码
document.write (Piotr.atestatas());
document.write (Jonas.atestatas());
document.write (Lukas.atestatas());
无需将功能代码更改为每个变量的名称?
答案 0 :(得分:1)
您可以在studijos()函数中使用this
引用该对象。以下代码效果很好:
function func(name, birth_date) {
this.name=name;
this.birth_date=birth_date;
this.atestatas=studijos;
}
function studijos(){
var egzas=2023-this.birth_date;
return egzas;
}
var Piotr=new func ("Piotr", 1995);
var Jonas=new func ("Jonas", 2001);
var Lukas=new func ("Lukas", 1999);
document.write (Piotr.atestatas());
document.write (Jonas.atestatas());
document.write (Lukas.atestatas());