2015-02-23 57 views
-2

我只是得到了函数,没有计算,出了什么问题? 我不知道这一点尚未..这是很讨厌Javascript代码,没弄清楚什么是错的

<script type="text/javascript"> 
    function Human(age, name, lastname) { 
     this.age = age; 
     this.name = name; 
     this.lastname = lastname; 
     this.born = born; 
    } 
    function born() { 
     var currentyear = 2015; 
     var born = this.age - currentyear; 
    return born; 
    } 

    var asaf = new Human(16,"Asaf","shlush"); 
    var daniel = new Human(19 , "Daniel" , "Bivas"); 

    document.write(asaf.born); 
+0

我们需要更多的上下文。什么叫您的功能和什么时候? – doldt 2015-02-23 10:24:52

+0

document.write,儿子 – Gsa 2015-02-23 10:26:14

+0

asaf.born不是函数调用,我不是你的儿子。 – doldt 2015-02-23 10:56:21

回答

1

需要调用该方法,document.write(asaf.born());

0

天生的功能应该是人类声明中。

function Human(age, name, lastname) { 
    this.age = age; 
    this.name = name; 
    this.lastname = lastname; 

    this.born = function() { 
     var currentyear = 2015; 
     var born = this.age - currentyear; 
     return born; 
    } 
} 


var asaf = new Human(16,"Asaf","shlush"); 
var daniel = new Human(19 , "Daniel" , "Bivas"); 

document.write(asaf.born()); 

请注意最后一行中函数调用的圆括号。

+0

这条线'''this.born = born;'''没有做任何事情 – 2015-02-23 10:29:44

0

问题是在Human对象上没有定义函数born

试试这个:

function Human(age, name, lastname) { 
    this.age = age; 
    this.name = name; 
    this.lastname = lastname; 
    this.born = function(){ 
     return 2015 - this.age; 
    }; 
}; 

var asaf = new Human(16,"Asaf","shlush"); 
asaf.born() // 1999 
0

你真正需要调用的函数:asaf.born()

您也可以考虑将born作为方法添加到Human原型中。你会得到同样的结果,但这可能是更好的做法。喜欢的东西:

function Human(age, name, lastname) { 
    this.age = age; 
    this.name = name; 
    this.lastname = lastname; 
} 

Human.prototype.wasBorn = function() { 
    var currentyear = 2015; 
    var born = this.age - currentyear; 
    return born; 
} 

Here you can see both results working.

0

你可以通过你的自我只是在你的JavaScript代码写调试器的检查,然后在检查元素控制台屏幕,然后刷新浏览器中打开它,然后调试你的javascript代码在浏览器中。

你可以简单地检查哪些函数被调用,哪些不是。您还可以检查所有元素的值。 因此,你可以检查一下,如果函数返回值是否为出生值?

+0

他没有说他如何调试它,问题是他卡在某个地方,他不知道我们失败的地方,如果你可以尝试解决他的问题。 – 2015-02-23 10:42:53

相关问题