如何在document.write中获取变量的名称?

时间:2019-12-07 19:15:45

标签: javascript

当前我在获取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()); 无需将功能代码更改为每个变量的名称?

1 个答案:

答案 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());