2015-02-23 30 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

相關問題