1

자바 스크립트 상속 함수를 작성하는 동안 얼마 전에 Visual Studio에서 intellisense와 함께 매우 이상한 동작을 발견했습니다. 다른 곳에서는 문서화되지 않았다고 생각합니다. 나는 VS2008과 VS2010에서 이것을 지금까지 관측했지만, 내가 아는 모든 것을 위해 더 일찍 되돌아 갈 수있다.누구든지 Visual Studio의 Javascript intellisense의이 동작을 설명 할 수 있습니까?

기본적으로 VS는 기능을 실행하고 결과를 인텔리 센스에서 사용할 수있는 것으로 보입니다. - VS 가능성 'FIRSTNAME'또는 'LASTNAME'는 것을 알 수 없었다 나는 이것이 정상적인 문법 검사기 수있는 방법을 작동하지 않을 수 있습니다 내 인생

function test(obj, member, value) { 
    obj[member] = value; 
    return obj; 
} 

function harness() { 
    var obj = {}; 
    test(obj, "firstname", "Jack"); 
    test(obj, "lastname", "Bauer"); 
    // If you now type in 'obj.' and wait for intellisense to pop-up you will notice that 'firstname' and 'lastname' will appear as members. 
} 

: 예를 들어

함수가 호출 될 때까지 멤버가 아니기 때문에 'test()'를 실행하지 않는 오브젝트 멤버.

누구든지 설명을 제안 할 수 있습니까?

답변

1

VS intellisense는 실제로 코드를 실행합니다 (어쨌든 의사 실행).

이것 좀보세요 : http://weblogs.asp.net/scottgu/archive/2010/04/08/javascript-intellisense-improvements-with-vs-2010.aspx

+0

환호, 나는 그 기사를 놓쳤습니다. 내 상속 함수가 객체 생성을 용이하게하기 위해 다른 여러 도우미 함수를 호출하므로 의사 실행은 꽤 깊게 실행됩니다. 그러나 놀라운 기능입니다. – Iian

+0

예, 처음 읽었을 때 깊은 인상을 받았습니다! – Carl