0

私のコードをチェックしてください

動作しますが、jsfiddle は何らかの理由でそれを嫌っています。しかし、ブラウザで実行すると、NaN計算が行われます

何らかの理由で、解析に関係なく、integer計算を実行するための が返されません。

誰でも理由がわかりますか?また

// JavaScript Document
var payment

/* requirement #2* Each input (years, loan amount, interest rate)
   will have its own number pad for entry */
function getNum(id,span) {
    var a;
    a = parseInt(document.getElementById(id).value);
    document.getElementById(span).innerHTML += a;
}

function clear1(span) {
    document.getElementById(span).innerHTML = "";
}

/* requirment #7 Mortgage object with three variables:  years, amount, rate */
function Mortgage(years, amount, rate) {
    this.years = years;
    this.amount = amount;
    this.rate = rate;
    /*Requirment #8. Object must have an internal function that resets all
      values/variables to default and clears amounts displayed to user */
    this.clearAll = function() {
        document.getElementById(years).innerHTML = "";
        document.getElementById(amount).innerHTML = "";
        document.getElementById(rate).innerHTML = "";
    }
    /*gets the mortgage from spans*/                        
    this.getCalc = function() {
        /*Requirment # 9 Object must call at least 1 external function */
        get();
    }
}

function test() {          
    /*uses the params to call the spans id*/                     
    var c = new Mortgage('yInput','lInput','rInput');
    c.clearAll();
}

/* an external cunction to calculate mortgage*/
function get() {
    var m = new Mortgage(parseInt(document.getElementById('yInput').innerHTML),
                         parseInt(document.getElementById('lInput').innerHTML),
                         parseInt(document.getElementById('rInput').innerHTML)
    );

    /* this is NaN?*/
    document.write(m.years-m.rate);
}

function calculate() {
    var c = new Mortgage();
    c.getCalc();
}

http://jsfiddle.net/5qf7f/6/#run

4

1 に答える 1

1

一部:

> /* this is NaN?*/
> document.write(m.years-m.rate);

ドキュメントの読み込みが完了すると、への呼び出しdocument.writeが最初document.openにになり、ドキュメントのコンテンツ全体(すべてのスクリプトとHTML要素自体を含む)がクリアされることに注意してください。

http://jsfiddle.net/5qf7f/6/#run

その「フィドル」は私にはまったく機能しません。問題を表示する最小限のコードに減らして投稿することをお勧めします。運動はおそらくあなたの問題につながるでしょう。

parseInt('')それが返されることを知ることはあなたの調査に役立つかもしれませんNaN

于 2012-10-21T23:35:44.537 に答える