사람이 여기에 무슨 일이 일어나고 있는지 설명 할 수 연산 식 : - 당신이 IE8이를 실행하는 경우 -라는 이름의 기능을 자바 스크립트 범위 지정 불확실성 IE8은
(function() {
this.bob = function bob() {};
window.alert(typeof(bob) + ', ' + typeof(this.bob) + ', ' + (bob == this.bob));
})();
출력입니다 :
function, function, false
다른 브라우저 것 give :
function, function, true
- 예상대로!
나는 스코어링을 IE8에서 다르게 수집 할 수 있었다. 즉, 전역 - - this
창 때문에 다른 브라우저
bob
및
this.bob
는 마지막 행에서 동일한 참조하고
bob
전역 변수를 의미한다.
IE8에서는 - bob
은 function bob
에 정의 된 바와 같이 로컬 참조입니다.
비록이 경우에도 확실히 두 참조 모두 동일한 function
개체를 참조하므로 bob == this.bob
은 여전히 true를 반환해야합니까 ??
누구든지 IE8에 대해 충분히 이해하고 있습니까?
아니요, IE8은 글로벌 '밥'도 만듭니다. 다른 브라우저는 함수에서 this.bob과 bob을 같은 참조로 취급하고 있습니다. http://kangax.github.io/nfe/ – Teemu
그게 설명해 - thanks @ Teemu! 답변을 게시하고 올바르게 표시하겠습니다.하지만 평판이 필요하지는 않습니까?! :-) –
기다려! 뭔가 잘못되었습니다. (https://jsfiddle.net/zg512xjf/) ... – Teemu