2014-02-07 2 views
11

친구를 위해 외주 프로젝트를 검토 중이며 각 페이지 상단에 정말 이상한 자바 스크립트 코드 블록이 있습니다. 는 분명히 그것은 아무것도하지 않지만 내가 도움이되지만 자본 F는 '이 될 온 방법 궁금해 할 수 있도록 trippy이다 : 나는 개발자가해야 뭔가를 누락하지 않는 한애매한 내포 된 "with"문

(function() { 
    with (this[2]) { 
     with (this[1]) { 
      with (this[0]) { 
       return function(event) {}; 
      } 
     } 
    } 
}) 

스스로 생산하기 위해 어떤 종류의 암페타민에 영향을 받으므로 나는 자동화 된 도구의 유적이라고 생각하고 있지만 나에게있어 유용한 시나리오를 상상할 수는 없다.

누구든지이 문제에 대해 의견을 개진 할 수 있습니까? 비슷한 것을 만난 사람이 있습니까?


이 문서에서 바이트 0으로부터 개구 <script> 태그 제외 절대적 양 모든이다. 이미 언급했듯이, 심지어 아무 것도하지 않는다는 것을 알고 있습니다. 이 또는 global 일 때 어떤 숫자 인덱스도 가지지 않을지라도 첫 번째 줄에서 무시 무시하게 실패합니다.

저는 개념이 많이 남아 있고 실용적인 농담으로 재미 있지 않다는 것을 알고 있습니다. 질문을 공개적으로 남겨 둘 것입니다. 어딘가에있는 옷장에있는 원숭이가 그것에 대해 알고 있을지도 모릅니다.

+2

minifier의 잔여 물? – j08691

+2

전체 코드입니까? 더 많은 코드가 있습니까? –

+1

with 문을 사용하지 않는 것이 좋습니다. – Satpal

답변

0

[MDN] [1]에 따르면 with 문은 객체를 명령문에 포함시키는 데 사용됩니다.
크롬에서 유사한 코드 조각을 우연히 발견했습니다.
"in"키워드를 var/object로 잘못 사용하여 내 코드를 중첩 된 "withs"로 바꿨습니다.이 코드는 dev 도구 소스 파일에서만 코드를 대체했습니다.
디버거에서 나온 with 문은 코드에서 JS의 계층 구조를 구성하는 데 사용되었을 것입니다. "in"을 발견하고 아무것도 찾을 수 없습니다. 파일을 포기했습니다. SSE 테스트 중이었고 ... 실패했습니다.) 이제 오류를 다시 작성하려고합니다.

+1

글쎄 주셔서 고맙습니다 ...하지만 내 질문이 아니었다 "*'는 무엇을 의미합니까?"* - 나는 어떤 종류의 반사 (아마도 자기 소화) 알고리즘이이 가증을 가장 위에 남겼는지에 관심이 있습니다. 문서 및 라이프 사이클 동안 달성하려는 내용. – Emissary

2

관심의 대상 일 수 있습니다 ... 디버거에서 발생하는 것 같습니다. 어떤 디버거 나는 알지도 왜 그런 이상한 코드를 추가합니다 :

Why is this function being undone?

이 아마도 당신이 스콧 세브란스을 질문을 할 수있어? 그 (이 질문은 확실히 오히려 무작위로했다을하지만 특히 사실 같은 :

모든 것을 말했다되고, 나는 개인적으로

참고하시기 바랍니다 ... 용어 원숭이 같은 후손을 원합니다 적어도 부분적인) 답변이 이미 StackOverflow에 존재한다는 것을 발견했습니다 ...?! 아무도 대답이 없다면, 뭔가를 모르는 것을 결코 좋아하지 않는 사람들 중 한 사람처럼되고 있습니다!