2013-06-13 50 views
1

下面的代碼和平代表什麼意思?javascript,有些函數的解釋?

someName.UI = function(){ 
    var someName; 
     if (!someName) 
       someName= {}; 

     someName.UI = function() {  
     var player = 1; 
     } 
    //some code here 
} 

我非常新的JavaScript,這是我第一次見過這樣的事情。

+0

Java還是javascript?如果javascript someName是函數UI的命名空間。 – Damian0o

+1

顯然不是java – Petah

+0

我拼錯了嗎?對不起,很困惑 – OneScrewLoose

回答

5
var someName; 

這是變量名稱聲明。

if (!someName) 
    someName= {}; 

當變量是null或以其他方式爲空,在其中創建一個新的空對象。

someName.UI = function() {  
    var player = 1; 
} 

創建物體中的構件UI保持其將創建一個變量與1一個值的函數。

someName.UI(); 

這將是對這個函數的調用。

+1

這是對JavaScript的解釋,而不是Java。 –

+0

清晰度很好的解釋。 +1! –

+0

'someName'是本地的,'!someName'永遠是真的。 – djechlin

0

你有很多方法在javascript中創建對象。
其中之一是創建一個功能。

1. var obj = function(id){ this.id = id; } <-- class with constructor for creating object 
    var objInstance = new obj(); <-- typeof objInstance === "object", typeof obj === "function" 
2. var obj2 = {} 
3. var obj3 = new Object() 
+0

這第一個是一個簡單的函數表達式。所以在某種意義上,obj是一個函數而不是一個對象。你寧願把它稱爲構造函數,但不一定是一個對象。 – Christoph

+0

Javascript是基於對象的語言。每個功能都是一個對象。 JavaScript中的「Everything」是一個Object [http://www.w3schools.com/js/js_obj_intro.asp,'作爲對象構造函數的函數] http://en.wikipedia.org/wiki/JavaScript – pbibergal

+0

第一個是完全操作的對象,具有屬性和方法。 – pbibergal