2012-02-20 82 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); 
     } 
    } 

}