var Person = function(name,age,job){
this.name = name;
this.age = age;
this.job = job;
}
var dependar = new Person('Dependar',20,'Student');
现在我们已经创建了我们的构造函数。
我试图使用原型。
Person.prototype.city = 'Delhi';
我们已将新的var city附加到构造函数以及使用它创建的所有元素(var dependar)
dependar.city工作正常,它被分配到德里'
但是当我尝试使用原型
附加方法时 Person.prototype.dob = function(){
this.dob = 2017 - this.age;
}
但是当我进入时 dependar.dob;
显示的功能不是结果
function (){
this.dob = 2017 - this.age;
}
出了什么问题?请帮忙
答案 0 :(得分:0)
当我输入dependar.dob时;它显示的是函数而不是结果。
<强>原因:强> 这是因为您已将其定义为:
Person.prototype.dob = function(){
this.dob = 2017 - this.age;
}
将(2017 - this.age)分配给this.dob。但dob未在函数中定义。
你能做什么:
直接返回值dob。
var Person = function(name, age, job) {
this.name = name;
this.age = age;
this.job = job;
}
var dependar = new Person('Dependar', 20, 'Student');
Person.prototype.dob = function() {
return (2017 - this.age);
}
console.log(dependar.dob());
答案 1 :(得分:0)
在控制台中,如果您输入dependar.dob
,或者使用console.log(dependar.dob)
,则会得到您要求的内容 - dob
的值,这是一个功能,所以它尽力显示该值的内容 - 函数源代码。
要获取执行函数所需的函数值,这意味着dependar.dob()
- 请注意使用parens。那些导致函数执行。