2011-12-16 9 views
0

問題:javascriptコードの任意の文字列を取り出し、一貫して値を返して変数に代入します。私は、評価されたとき、javascriptの元の任意の文字列の戻り値が何を返しても、一貫して変数を設定するJavaScript文字列を構築する必要があります。ジャバスクリプトの例は、この文字列は:常にjavascriptのスニペットから値を返してください

if(typeof(something) !== "undefined"){ 
    hello() 
} 

これは、私は今それをやろうとしている方法です(はい、私は上記のスニペットが何も返さないだろう知っている)

var result = (function(){ 
    if(typeof(something) !== "undefined"){ 
    hello() 
    } 
}.call(this) 

そしてこうして結果は未定義。どのように、上記のケースとすべての(またはほとんどの)他のもので、私は定義されていない結果を得ることができますか?あなたの関数からfalsy値(''0falseundefinedまたはnullを)期待したことがない場合は

+0

これを行う理由をさらに詳しく説明できますか? "任意の文字列のJavaScriptコード"が何かを返さない場合(最初の例のように)、定義可能な値は何でしょうか?価値はどこから来るのでしょうか? – nnnnnn

答えて

1

、これは動作します。

var result = function(){ 
    if(typeof something !== "undefined"){ 
    hello() 
    } 
}.call(this) || 'default_value'; 

jsFiddle

関連する問題