2015-10-14 126 views
2

我在IntelliJ Idea的代码完成和语法检查和JavaScript方面遇到了问题。JavaScript Singleton和IntelliJ Idea

我有一个Singleton对象下面(简化的)代码:

var MySingleton = new function() { 
    var self = this; 

    self.prop = "hello world"; 

    self.printHello = function() { 
     console.log(self.prop); 
    }; 
}; 

MySingleton.printHello(); 

的问题是,即的IntelliJ抱怨在约Unresolved function or method printHello()的最后一行。当从MySingleton.自动完成时,它也不会建议printHello。代码本身工作正常,但。

我想我必须注释或重写我的代码在不同的风格。但是如何?

+1

什么IJ版本您使用的? –

+0

14.1.5 Ultimate –

+0

请试试15 EAP,好像问题在那里修复 –

回答

0

好像模块模式是接近我想要做的,是深受理念的代码索引支持:

var MySingleton = (function() { 
    var self = this; 

    var prop = "hello world"; 

    function printHello() { 
     console.log(self.prop); 
    }; 

    // export public functions 
    return { 
     printHello: printHello 
    }; 
})(); 

MySingleton.printHello(); 
0

我正在使用工厂在Javascript中获取Singeltons。

var factory = function(){ 
    this.singelton = null; 
    /** 
    * @return MySingleton 
    */ 
    function singelton(){ 
     if(this.singelton==null){ 
      this.singelton = new MySingelton(); 
     } 
     return this.singleton; 
    } 
} 

var instance_of_my_singleton = factory.singelton();