1
前段时间我写了一个Javascript继承函数时,我注意到Visual Studio中一些非常奇怪的行为,我不认为在其他地方有过文档记录。我已经在VS2008和VS2010中观察到了这一点,但它可能会早于我所知道的。任何人都可以解释Visual Studio的Javascript intellisense的这种行为吗?
基本上,VS似乎正在执行一个函数,并在intellisense中提供结果。
例如:
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.
}
对于我的生活,我不能工作,如何这是可能的一个正常的语法检查器 - VS不可能知道,“姓”或“姓”是一个没有执行'test()'的对象成员,因为它们不是成员,直到函数被调用。
任何人都可以提出解释吗?
干杯,我错过了那篇文章。伪执行运行得非常深,因为我的继承函数调用其他辅助函数来促进对象构造。一个惊人的功能,但它实现了! – Iian 2012-03-20 10:46:06
是的,当我第一次读这本书时,我印象深刻! – Carl 2012-03-20 11:07:46