2016-04-19 171 views
0
var myCar2 = { 

    maxSpeed: 70, 
    driver: "Arnold", 

    drive: function(speed, time) { 
     console.log("speed " + (speed * time)); 
    }, 

    logbook: function(a , b) {  
     console.log("max speed " + this.maxSpeed + " " + this.drive(a , b)); 
    } 
}; 

myCar2.logbook(3 , 6); 

this.drive(a , b)undefinedです。変数drive()に変数を渡すには、logbook()を使用しますか?javascriptのオブジェクト内の他の関数に変数を渡す方法

+2

これはそのままで正常に動作するはずです。唯一のことは、あなたが***ドライブから何も返さない***なので、戻り値は 'undefined 'です。 – deceze

+1

@Amit No.いいえ。 – deceze

+0

はい私はリターンを使用しないでください。私は欲しいものを手に入れて帰ってくれてありがとう。 – pZCZ

答えて

7

ドライブに変数を渡しており、変数が定義されています。彼らがそうでなかったらあなたはのスピード18を出力に得られないでしょう、スピードNaNを得るでしょう。

undefined値は、あなたがその機能にreturn文を入れていないためであるdrive返り値、です。

関連する問題