2011-07-14 192 views
-1
var obj = { 

    Variable: 1, 

    Name: function() { 
     Variable += 1; 
    } 

    return this.Variable 
} 

var obj = { 

    Name: function() { 
     var Variable = 1; 
     Variable += 1; 
    } 

    return Variable 
} 
  1. 現在這兩個有什麼區別?
  2. 這兩個是否給出 不同的輸出。
+0

你有沒有跑過他們? –

+9

這是無效的代碼...? –

+3

這些都不是有效的javascript ... – mikeycgto

回答

0

不知道你想要什麼......

function wrapperFunction() 
{ 
    var Obj = { 
     variable: 1, 
     .... 
    }; 
    return Obj ; 
} 

你可以嘗試也包裹在函數中整個對象。然後使用該函數在每次調用包裝函數時返回一個新實例。

3

1)區別在於Variable變量的定義在不同的位置。

2)不,他們有相同的輸出:什麼都不輸出,給你錯誤。您的評論

===更新(這是爲什麼呢無效代碼?)===

,因爲你不能return對象文本內。

即。

{ return "something" } 

簡直是錯誤的。

+0

+1爲您的答案#2 – mrtsherman

2

對象不返回。這是功能。你沒有關閉。

2

你的腳本有很多廢話;

在第一種情況下,您聲明變量「變量」對象的成員。

var obj = { 

     Variable: 1, 

    } 

,並使用一個變量「變量」註冊全球:

var obj = { 
    Name: function() { 
     Variable += 1; 
    } 
} 

你不能使用你的對象回報。

var obj = { 

    return Variable 
}