2015-10-14 116 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();