2012-02-20 70 views
0
這樣

的JavaScript聲明變量問題

Client.Selectors = { 
    var cfg = null; 
    Init:function(config){ 
     ... 
     cfg = config; 
     ... 
    }, 
    Close:function(){ 
    } 
}; 

我'做somtehing以及Chrome的調試,我得到這個錯誤:

Uncaught SyntaxError: Unexpected identifier 

我不知道爲什麼

+1

小心的符號,在JavaScript中資本變量是一個構造函數。如果你沒有聲明一個構造函數,你應該使用小寫的第一個字母的camelCase。 – NicoSantangelo 2012-02-20 05:26:50

+0

@Nicosunshine這只是一個慣例而不是語言功能。請參閱http://stackoverflow.com/questions/1564398/javascript-method-naming-lowercase-vs-uppercase – Phil 2012-02-20 22:40:37

+0

@Phil這是我補習:),沒有意識到,聽起來像一個語言功能。 – NicoSantangelo 2012-02-20 22:47:53

回答

2

您遇到問題了:

var cfg = null; 

應該是:

cfg : null, 

由於您使用對象字面符號。所以=更改爲:;更改爲,

Client.Selectors = { 
    cfg : null, 
    Init:function(config){ 
     this.cfg = config; 
    }, 
    Close:function(){ 
    } 
}; 

瞭解更多:

3
var cfg = null; 
Client.Selectors = { 
    Init:function(config){ 
     ... 
     cfg = config; 
     ... 
    }, 
    Close:function(){ 
    } 
}; 
0

您與對象的文字符號,宣佈選擇器,因此語法

some = { 
    identifier:value, 
    id2:function() {} 
} 

和所有的屬性ar E從外部訪問....你可能要考慮使用一個構造函數來封裝你CFG

some = function() { 
    var privateVar = "something"; 

    return { 
     init: function() { 
     alert(privateVar); 
     } 
    } 

}