누군가 설명 할 수 있습니까? 인해 IE 버그 IE8IE8`window.fn! == fn`
(function(){
window.foo = function foo(){};
console.log(window.foo === foo); // false
}());
누군가 설명 할 수 있습니까? 인해 IE 버그 IE8IE8`window.fn! == fn`
(function(){
window.foo = function foo(){};
console.log(window.foo === foo); // false
}());
는 지정된 함수식 함수의 별도 카피를 갖춘 별도 foo
로컬 변수를 생성한다.
var f = function g(){}; f === g; // false
이입니다. 또는 오히려 - 완전히 너트. 여기서 우리는 두 개의 별개의 객체를 다뤄야하는 위험성을 보았습니다 - 그것들 중 하나를 보완하면 분명히 다른 객체를 수정하지 않습니다; 이것은 메커니즘을 캐싱하고 f의 속성에 무언가를 저장하기로 결정한 다음 g의 속성으로 액세스하려고 시도했을 때 작업하는 객체와 동일하다고 생각하면 상당히 번거로울 수 있습니다.
최고, 감사합니다. 나는 그걸 전에 읽었지만 지금까지 한번도 그것을 치지 않았다. –
다시 한번, 자바 스크립트는 엉망입니다. –
문제를 해결하는 데 관심이 있다면 문제가 해결됩니다. 당신이 거기에있어 무엇인가 '라는 이름의 함수 표현식'에
(function(){
var f = function foo(){};
window.foo = f;
alert(window.foo === f); // false
}());
또는 이름을 제거하십시오. – SLaks
아주 좋은 읽기 : http://kangax.github.com/nfe/ – InfinitiesLoop