2016-11-26 7 views
0

私は外部の.jsファイルに次のコードを挿入しましたが、関数を呼び出そうとしましたが、定義されていません。 Plzのヘルプ配列の関数を呼び出す方法は?

function getTransactions(accno) { 
    var from, to, selected=new Array(); 
    var transactionPool=new Array(); 
    transactionPool[0]=new createTrans("1/20/2015", "PPS Payment", "dr", 1300.5); 
    transactionPool[1]=new createTrans("2/27/2015", "Online", "cr", 300.5); 
    transactionPool[2]=new createTrans("1/11/2016", "ATM", "dr", 9300.0); 
    transactionPool[3]=new createTrans("2/20/2016", "Counter", "dr", 300.5); 
    transactionPool[4]=new createTrans("3/15/2016", "Online", "dr", 2200); 
    transactionPool[5]=new createTrans("4/23/2016", "PPS Payment", "dr", 4300.99); 
    transactionPool[6]=new createTrans("5/2/2016", "Counter", "cr", 7300.5); 
    transactionPool[7]=new createTrans("6/5/2016", "Online", "dr", 500.5); 
    transactionPool[8]=new createTrans("7/20/2016", "ATM", "cr", 800.3); 
    transactionPool[9]=new createTrans("11/5/2016", "PPS Payment", "cr", 300.5);  
    from=Math.floor(Math.random()*10); 
    to=Math.floor(Math.random()*10+1); 
    for (i=0; i<to; i++) { 
     selected[i]=transactionPool[from]; 
     from=(from+1)%9; 
    } 
    return selected; 
} 


<script>window.onload = function() { 
document.getElementById("account"). 
innerHTML = localStorage.accDetails; 
var accDetail=getTransactions(); 
document.getElementById("test").innerHTML = transactionPool[0]; 
}</script> 

私は関数ではなく、仕事を呼び出すためにスクリプトでこれを記述する。私のコードの問題は何ですか?ありがとう。

答えて

-1

少しのアドバイス: "new Array()"を使わず、 "[]"を使って配列を宣言してください!

var list = [ 
 
    function(){ // 0 
 
    return 'cat'; 
 
    }, 
 
    function(){ // 1 
 
    return true 
 
    }, 
 
    function(){ // 2 
 
    return false; 
 
    }, 
 
    function(){ // 3 
 
    return 'food'; 
 
    } 
 
]; 
 

 
// RUN!! 
 
alert(list[2]());

+0

um、これは講師が書いたので変更できませんので、この関数を – tweaktweak

+0

と呼ぶだけで "()"を追加するだけです。たとえば、 "list [3]()" – Pinguto

+0

は、配列またはオブジェクトを返すことができるテスト関数の配列を返します。例: ** return {sel:selected、transPool:transactionPool}; ** 選択した値の後** accDetail.sel **またはすべての関数を取得する** accDetail.transPool ** – Pinguto

0

返される配列への参照がaccDetail名前を付けていないtransactionPool、およびtransactionPoolは(正しく)でしているので、まあ、1のために、スクリプトタグ内transactionPoolという名前の変数が、ありませんではありませんグローバル変数。

+0

を使用する必要がありますので、コードは 'document.getElementById(" text ")にする必要があります。 innerHTML = accDetail.transactionPool [0]; '? – tweaktweak

+0

、またはこの関数を呼び出して目的の値を返す正しい方法は何ですか? – tweaktweak

+0

いいえ、配列へのローカル参照がaccDetailの場合、最初の要素はaccDetail [0]です。 – PMV

関連する問題