2017-09-18 8 views
0

関数から返された結果を単純な文字列に連結しようとしていますが、両方とも同じオブジェクト内で宣言されています。 例:Javascript関数と文字列を連結する

var hello = { 
    how: function(){ 
    return ' are you'; 
    }, 
    ans: 'how', 
    answer: 'how' + this.how() 
}; 

console.log(hello.how()); //works 
console.log(hello.ans); //works 
console.log(hello.answer); //doesnt work 

ここでは、あなたの助けのためのFiddle

感謝です!あなたは、オブジェクトを作成するには、このようなコンストラクタ関数を使用することができます

+0

答えが機能する必要があります。 .. – Keith

+0

これを参照してください:https://stackoverflow.com/questions/16600925/how-can-i-add-a-variable-to-console-log – JGallardo

+0

あなたが 'あなたのように 'hello'はコンストラクタ関数でなければなりません – Kristianmitk

答えて

3

var hello = new function() { 
 
    this.how = function(){ 
 
    return ' are you'; 
 
    }, 
 
    this.ans = 'how', 
 
    this.answer = 'how' + this.how() 
 
}; 
 

 
console.log(hello.how()); //works 
 
console.log(hello.ans); //works 
 
console.log(hello.answer); //doesnt work

+0

ありがとう、@ Nilと答えの両方の仕事、今私の質問は、どちらが最善のアプローチですか? –

0

をこれは動作するはずです:

var hello = { 
    how: function(){ 
    return ' are you'; 
    }, 
    ans: 'how', 
    answer: function(){ 
     return 'how' + this.how() 
    } 
}; 

console.log(hello.how()); //works 
console.log(hello.ans); //works 
console.log(hello.answer()); //now works 
関連する問題