2017-11-26 16 views
0

おそらく私のここでの理解の小さな問題ですが、わかっている人にとっては簡単だと思います。引数を関数に渡すときの問題

私は、以下のように関数に引数を渡すことができると理解しましたが、戻り値は1になりますが、空の配列が返されるという点で値を前提としていました。なぜこれが当てはまるのか誰もが詳しく説明できますか?

おかげ

function CreateBoard() { 
    let board = { 

     empty: 0, 
     player1: 1, 
     player2: 2, 
     state: [[1,0,0],[0,0,0],[0,0,0]], 

     isEmpty: function(row,col) { 
     return this.state[row][col] === this.empty; 
     } 
    }; 
    isEmpty(0,0); 
} 
+1

** 1を支援します。戻り値が 'undefined'ない空の配列になりますので、**あなたは何を返していません。 –

+2

isEmptyはそのように呼び出すことはできません。 –

+3

** 2 ** **スタンドアロン関数isEmptyは存在しません。ボードの 'isEmpty'を' board.isEmpty(...) 'のように呼び出さなければなりません。 –

答えて

0

あなたが関数からあなたのオブジェクト(board)を返す必要がまず第一。 boardには、isEmptyもプロパティ(メソッドの種類)であるいくつかのプロパティがあります。したがってisEmptyを呼び出すにはboardのインスタンスを持っていなければなりません。

function CreateBoard() { 
 
    let board = { 
 

 
     empty: 0, 
 
     player1: 1, 
 
     player2: 2, 
 
     state: [[1,0,0],[0,0,0],[0,0,0]], 
 

 
     isEmpty: function(row,col) { 
 
     return this.state[row][col] === this.empty; 
 
     } 
 
    }; 
 
    
 
    return board; 
 
} 
 

 
let b = CreateBoard(); 
 

 
console.log(b.isEmpty(0,0))

希望これは

+0

これはとても役に立ち、今これは私の感謝です! –

関連する問題