나는 document.getElementById
을 많이 사용해야하는이 웹 페이지를 가지고 있습니다. 내가 게으른 때문에, 나는 짧은 변수에 document.getElementById
을 할당하여 몇 바이트를 저장하는 생각 : 내가 의도 한대로변수 (객체에 속함)를 변수에 할당하는 것이 이런 식으로 동작하는 이유는 무엇입니까?
var geid = document.getElementById;
그러나, 문제가 해결되지 않았다. 내가 무슨 일을하고있는 중이 야
var foo = document.getElementById('foo');
console.log(foo); // outputs: '<div id="foo">Foo</div>'
var geid = document.getElementById;
var foo_geid = geid('foo'); // Aaaaaargh! Uncaught TypeError: Illegal invocation
console.log(foo_geid);
<div id="foo">Foo</div>
:
Uncaught TypeError: Illegal invocation
내 문제를 보여줍니다 다음 코드를 고려하십시오 : 그것은 나에게 다음과 같은 오류를했다? 내가 한 짓을 왜 안할 수 있니?
this
이 모든 것을 수행해야한다는 직감이 있기 때문에 "How does the "this" keyword work?"을 확인했습니다. (나는 마치 getElementById
을 가지고있는 것처럼 느낀다 은에서 document
개체로 분리되었다. 그러나 나는 문제를 정확히 찾아 내고 명확하게 말할 수는 없다. 누구든지 나를 도울 수 있습니까?
중복 [https://stackoverflow.com/questions/41757990/can을 -i-assign-document-getelementbyid-to-variable-in-javascript] (https://stackoverflow.com/questions/41757990/can-i-assign-document-getelementbyid-to-variable-in-javascript) –
아마 당신은 오류 메시지를 인터넷 검색으로 간주해야합니다. [이 문제를 설명하는 것] (https://stackoverflow.com/questions/9677985/uncaught-typeerror-illegal-invocation-in-chrome) – musefan
당신은 문서를 그것에 바인딩해야합니다 –