名稱空間樹javascript示例和語法解釋。名稱空間樹javascript示例和語法解釋
此命名空間在JavaScript來定義:
根
root.person
root.home
root.home.relative
我嘗試錯誤:
var root='';
root.person='';
root.home='';
root.home.relative='';
請解釋一下你的代碼,我不知道JS以及PHP/C/JAVA
感謝
名稱空間樹javascript示例和語法解釋。名稱空間樹javascript示例和語法解釋
此命名空間在JavaScript來定義:
根
root.person
root.home
root.home.relative
我嘗試錯誤:
var root='';
root.person='';
root.home='';
root.home.relative='';
請解釋一下你的代碼,我不知道JS以及PHP/C/JAVA
感謝
如果你的問題是什麼,你做錯了.. 你需要定義你的名字空間如下
var root = {};
root.person = {};
已經有相當詳細的Stackoverflow答案這個主題How do I declare a namespace in JavaScript?,我建議你看看那裏尋求更多的幫助。
錯誤...那個額外的'var'從哪裏來的? – DaveRandom
js如何允許root.person = [];而不是root.prototype.person = [];? – tomy
JavaScript沒有Java等意義上的「名稱空間」的概念。相反,我們使用良好的舊對象,併爲這些對象添加屬性。
如果root
是要你的「命名空間」,我們定義root
爲對象,並定義命名空間的成員爲對象成員(「人」,「家」,「相對」) 。
要聲明的對象(root
),最簡單的方法是使用object literal syntax
var root = {
person: 'Jim',
home: 'London'
}
您可以使用此語法如下巢對象(實現你的嵌套relative
對象:
var root = {
person: {
'first_name': 'Matt',
'last_name': 'Smith'
},
home: {
relative: 'Frank'
}
}
如果要嵌套屬性,請將變量作爲對象,而不僅是一個字符串:
var root = {};
root.person = '';
root.home = {};
root.home.relative = '';
console.log(root);
如果您使用的是Firebug,console.log
將漂亮地打印您的對象層次結構。
謝謝!js如何讓root.person = [];而不是root.prototype.person = [];? – tomy
不知道我完全理解你以後有什麼,但你的意思是這樣的:如果你要動態地給一個對象額外的屬性
var root = {};
root.person = '';
root.home = {};
root.home.relative = '';
,而不僅僅是一個值,聲明它作爲一個空對象字面var obj = {}; obj.subObj = {};
等等
可能更好的回答通過閱讀:http://stackoverflow.com/questions/881515/javascript-namespace-declaration作爲亞歷克斯瓊斯下面提到。 – Kzqai