這裏:http://www.phpied.com/3-ways-to-define-a-javascript-class/描述了3種用javascript定義「class」的方法。我選擇在我的代碼使用第3方法:javascript「class」變量undefined
var apple = new function(){
//code here
}
我用這種結構,以此來分開命名空間中的代碼,我的意思是我有更多的變量作爲蘋果在同一個js文件,而且每一個可能包含具有相同名稱的函數。現在
var customer = new function(){
this.URL = "//customer/";
this.json = {};
this.getData = function(id){
this.prepareForm();
this.json = requestData(this.URL); //requestData deffined in another place
}
this.save = function(){
//code
}
this.validate = function(){
//code
}
this.prepareForm = function(){
//code
}
// more code here
}
var employee = new function(){
//code here, something like the customer code
}
var partner = new function(){
//code here, something like the customer code
}
,我注意到,有時this.URL是不確定。該函數存在,被定義並在上下文上運行,該變量不存在,我需要將其稱爲customer.URL。但是,這只是有時,而不是所有的時間,我不明白爲什麼以及何時發生。
有什麼建議嗎?爲什麼會發生?
如果您將該「prepareForm」函數作爲事件處理函數傳遞,它將失去與該對象的關係。 – Pointy
'this.validate(){'看起來不正確?你的意思是'this.validate = function(){'? –
另請注意,該博客文章*真的*由JavaScript最佳實踐標準。 – Pointy