이 답변이 여전히 찬성 투표를받는 이유는 무엇입니까?
당 미카엘 메이어의 대답 이 더 이상 문제가 없다, 내 대답은 사용되지 않습니다 ( go()
지금 반환 30
콘솔과 일 처리 후). 위의 gabrielmaldi의 의견 에 링크 된 버그 보고서 에 따르면이 문제는 2013 년 7 월에 수정되었습니다 . 내가 여전히 찬성 투표를 받고 있다는 사실이 놀랍습니다. 찬성자가 질문이나 답변을 이해하지 못한다고 생각하게 만듭니다.
나는 역사적인 이유로 여기에 원래 대답을 남겨 둘 것이지만 대신 Mikaël의 대답에 찬성 투표하십시오 .
트릭은 지역 변수를 직접 변경할 수는 없지만 객체의 속성은 수정할 수 있다는 것입니다. 전역 변수의 값을 수정할 수도 있습니다.
var g_n = 0;
function go()
{
var n = 0;
var o = { n: 0 };
return g_n + n + o.n;
}
콘솔:
> g_n = 10
10
> g_n
10
> n = 10
10
> n
0
> o.n = 10
10
> o.n
10
go()
중단 점을 설정하고 콘솔에서 해당 호출을 실행 한 후의 결과를 확인하면 결과 가 0이 아니라 20이라는 것을 알 수 있습니다 (슬프게도 30이 아님).
modeline
에서 오는가?