2011-12-16 2 views
0

에서 값을 반환하십시오. 문제 : 임의의 자바 스크립트 코드 문자열을 가져 와서 값을 일관되게 반환하고 변수에 할당하는 것입니다. 내가 자바 스크립트의 문자열을 구축해야합니다, 언제, 일관되게 자바 스크립트의 원래 임의의 문자열의 반환 값이 반환됩니다 변수를 설정합니다. 자바 스크립트의 예,이 문자열은 :항상 javascript 스 니펫

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

이것은 내가 지금 할 노력하고있어 어떻게 (그래, 나는 위의 코드가 아무것도 반환하지 것 알고)

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

그리고 따라서 결과는 정의되지 않았습니다. 위의 경우와 모든 (또는 대부분의) 다른 사람들이 어떻게 정의되지 않은 결과를 얻을 수 있습니까? 당신은 결코 당신의 기능에서 falsy 값 ('', 0, false, undefined 또는 null을) 기대하지 않는 경우

+0

이유를 자세히 설명 할 수 있습니까? "임의의 자바 스크립트 코드 문자열"이 (예를 들어 첫 번째 예제와 같이) 어떤 것을 반환하지 않으면 어떤 정의 값을 기대할 수 있습니까? 가치는 어디에서 유래됩니까? – nnnnnn

답변

1

이 작동합니다.

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

jsFiddle.