2011-09-10 1 views
0

Stack Overflow、Google、Google Codeを2日間検索していますが、この質問に対する回答が見つかりませんでした。だから私はこれに似たJSオブジェクトを持っている...ChromeとFirefoxのコンソールで「未定義」の呼び出しを削除できますか?

を行く聞く:)

var profile1 = { 
one: "1", 
two: "2" 
} 

var profile2 = { 
one: "3", 
two: "4" 
} 

function runLoop() { 
console.log(this.one); 
} 

profile1.loop = runLoop; 
profile2.loop = runLoop; 

profile1.loop(); 

ので(profile1.loopすることは、この場合には罰金を実行し、「1」の文字列値を返します。しかし、ChromeやFFのコンソールから実行しようとすると、 "1"が返されますが、 "undefined"というメッセージが送信されます。

これは修正できますか、ここで私の尾を追いかけていますか?この質問に対する回答がSOにある場合は、投稿してください。

+0

なぜ修正が必要ですか?コンソールが自動的に戻り値を表示したくない場合は、http://jsbin.comまたはhttp://jsfiddle.netを使用してコードをテストする必要があります。 – user113716

+0

フレームを使用していますか? http://jsfiddle.netやそのようなものは? – kzh

答えて

2

私は修正するために何もないあなたがその中で自分のしっぽを追いかけていると思います。コンソールで 'undefined'という言葉を見たくない場合は、その機能から何かを見たいものを返すことができます。

function runLoop() { 
    console.log(this.one); 
    return 'loop complete!!!!'; 
} 

> profile1.loop(); 
1 
'loop complete!!!!' 
+0

numbers1311407とcheeken:両方の提案がうまくいった!非常にあなたの助けのために非常に! – kaidez

3

コンソールでundefinedが表示された場合は、評価した文が値を返さなかったことを意味します。だからあなたが評価していることは、あなたの言うことにもかかわらず、価値を返すことではありません。

ここでの混乱は、コンソールにthis.oneと書いてあり、returnではないことです。

代わりにこれを試してみてください:

function runLoop() { 
    return this.one; 
} 
+0

numbers1311407とcheeken:両方の提案がうまくいった!非常にあなたの助けのために非常に! – kaidez

関連する問題