【问题标题】:How to retain intellisense for JavaScript global variable in Visual Studio .NET 2008如何在 Visual Studio .NET 2008 中为 JavaScript 全局变量保留智能感知
【发布时间】:2011-03-29 11:18:34
【问题描述】:

我有一个 JavaScript 包装器,我在正文加载时初始化它并设置为一个全局变量。刚创建对象后,我就有了完整的智能感知,但是当稍后从另一个函数中引用它时,智能感知就丢失了。我认为这是因为动态类型:

var myWrapper;

function onload() {
    myWrapper = new Wrapper(args);
    myWrapper. //Intellisense here.
}

function whatever() {
    myWrapper. //Intellisense lost.
}

我通过假装在我的代码之前再次创建对象,然后删除该行来解决这个问题:

function whatever() {
    myWrapper = new Wrapper(); //Pretend to create object again.
    myWrapper. //Intellisense returns!
}

Visual Studio 2010 中的推理是否得到了改进,或者有什么方法可以告诉 JavaScript 我当前正在处理的对象的类型?

【问题讨论】:

    标签: javascript asp.net visual-studio intellisense


    【解决方案1】:

    除非你告诉它是什么类型(通过使用 new 关键字,很难猜出它是什么......

    例如,考虑以下情况

    var myArray;
    myArray. //intellisense has no idea this is meant to be an array
    
    var myArray = new Array();
    myArray. //intellisense knows it is a array (.pop, .push, .join etc)
    

    所以是的,也许允许设置你的对象(没有你有的 args)并将它放在顶部......

    var myWrapper = new Wrapper();
    
    // now whenever myWrapper is used, intellisense
    // should appear (provided it knows what Wrapper is
    

    【讨论】:

      猜你喜欢
      • 2016-03-20
      • 2011-10-14
      • 1970-01-01
      • 2010-11-01
      • 2018-02-06
      • 2020-10-29
      • 2014-11-25
      • 2012-03-06
      • 1970-01-01
      相关资源
      最近更新 更多