2014-02-06 2 views
0

this question(0, eval)()은 무엇을합니까? 다음

function q() { 
console.log((0, eval)('this')); 
} 

그것은 [개체 창] 반환에서이다.

내가 얻지 못하는 부분은 (0, eval) 부분입니다.

JS가이 작업을 수행하고있는 것은 무엇입니까?

링크에서 eval()을 간접적으로 호출한다고합니다. 간접적 인 의미는 무엇입니까?

+0

내 질문이었다 지금 쉼표 연산자의 사용으로 지적 된 (0, 평가) 부분에 대한 자세한 –

답변

3

사실, 그냥 내가 지금 중복으로 투표 한 (1,eval)('this') vs eval('this') in JavaScript?, 참조 :

이 ..은 ECMA 사양은 "직접 평가 호출을"로 평가 후면에 대한 참조를 고려하지만, 표현이 단순히 eval을 간접적 인 것으로 산출하고 간접적 인 평가 호출이 전역 범위에서 실행되도록 보장합니다.

(다음 동안 [주로] 사실, 그것은 하지 특정 사용 eval에가 있습니다.)


comma operator

모든 식을 평가하고 마지막 표현식의 값을 산출한다.

즉, (0, eval)eval (함수 개체 값)으로 계산되므로 결과 식은 eval('this')과 같습니다.

는 다른 방법을 참조하십시오 : (. 내 질문에 대한 대답)

var f = (0, eval) 
f === eval // true 
f('this') 
관련 문제