2014-09-03 3 views
2

내가 검색 한, 그러나 나는 사람이 질문을 가지고 있다고 생각하지 않습니다 CONSOLE.LOG 반환 : 본질적으로,함수에서 JavaScript 문을 반환하면 어떻게됩니까? ("안녕하세요")

function $(input){ 
    return console.log(input); 
} 

$("My message"); 

및 더 많은 기존의 차이점은 무엇입니까

function $(input){ 
    console.log(input); 
} 

$("My message"); 

? 둘 다 같은 효과가 있습니다.

반환 할 수 있다면 console.log("Hello")의 개체입니까?

+1

시도해보고 알려주세요. 'console.log' (적어도 Chrome에서)는'undefined'를 반환하므로'return undefined'와 같습니다. 무언가를 돌려주는 행위는 물건을 만드는 것이 아니며, 물건이 무엇인가를 암시하는 것이 아닙니다. – meagar

+0

그러면 왜 작동합니까? – user3457004

+0

자바 스크립트 엔진은 함수가 반환하는 것을 신경 쓰지 않기 때문에 작동합니다. 약한 타입의 언어이기 때문에, 어떤 함수도'null' 또는'undefined' 값을 포함한 어떤 것도 반환 할 수 있습니다. 나중에 해당 코드를 반환하면 코드에 영향을 미치지 만 모든 변수에 값을 할당 할 수 있습니다. – RevanProdigalKnight

답변

0
function $(input) { 
    return console.log(input); 
} 

약자

function $(input) { 
    var ret = console.log(input); 
    return ret; 
} 

또한, console.log(input)의 반환 값이 undefined, 당신이 호출하는 객체에 undefined를 반환합니다. $("My message");의 반환 값을 무시하기 때문에 아무 일도 일어나지 않습니다. 당신은 같은 사실에 반환 값을 사용할 수 있습니다

var ret = $("My message"); 
console.log(ret); 

과 콘솔에서 undefined을 인쇄합니다.

4

다른 값을 반환하는 것과 다를 바 없습니다.

아무 것도 반환하지 않는 console.log의 반환 값을 반환합니다.

반환 할 수있는 경우 console.log ("Hello")가 개체라는 의미입니까?

번호 console.log("Hello")은 함수 호출입니다. 함수 호출 은 명시 적으로 값을 반환합니다.

console.log()과 같이 명시 적 반환 값이없는 함수는 암시 적으로 undefined을 반환합니다.

0

Console.log ("Hello"); 정의되지 않은이 때문에의 값

당신은 그것을 반환 할 수 있습니다

var s = $("hello"); 
console.log(s); 

이 안녕하세요는 CONSOLE.LOG 코드에서, 다음 정의되지 않은 첫 번째 인쇄합니다 : 그냥 자바 스크립트 쉘에서 테스트를 수행 undefined 돌아 가기 반환 값은 Console.log이 아니지만 기능은입니다.

+0

'var s = ... '란 무엇입니까? 당신은 그것을 로깅하지 않고''s "'문자열을 로깅한다. 이것은 방금 생성 한 변수와 완전히 관련이 없다. – meagar

+0

@meagar 사실, 작은 실수, 고쳐 줘서 고마워. –

0

var test = $("Hello");$ 함수가 반환하는 값을 test으로 만듭니다.

console.log은 아무 것도 반환하지 않으므로 var test = console.log('hey');test의 값을 undefined으로 만듭니다. 대한

관련 문제