2011-10-25 194 views
-1

我想初始化一個Javascript對象。Javascript對象初始化

function showKabineninfo(W3CElement) { 
    params = params || {}; 
    ... 
    ...  
} 

但我得到的JavaScript錯誤是 「params爲未定義」

+0

你想從其他地方使用'params'嗎? –

+0

嗯,你初始化什麼對象?什麼是W3CElement?什麼是params?在不知道自己實際想要做什麼的情況下正確回答問題是非常困難的。 – hugomg

回答

1

它,因爲params變量的函數的範圍僅限定

試試這個:

function showKabineninfo(W3CElement) { 
    window.params = window.params || {}; 
    ... 
    ...  
} 

1

由於您尚未在參數列表中定義params,您應該更改代碼, dding VAR和由missingno如指出最好是使用另一個變量來保存則params的值:

function showKabineninfo(W3CElement) { 
    // reassigning - bad practice! 
    //var params = params || {}; 
    var aParams = params || {}; 
    ...  
} 

在當params存在。更多信息here

另外我想用法:

window.params = window.params || {}; 

即使是最糟糕的,因爲全局變量的使用,這在編程時沒有考慮好做法。

+1

RHS中的參數仍然未定義... – hugomg

+0

您能精確嗎? – Bakudan

+0

我的意思是,只是在「var」前面加上「VAR」可能不會很有用,因爲params也被用在了賦值的右側。無論如何,由於最初的問題太模糊,所以很難猜測*正確*的解決方案。 – hugomg

1

試試這個

var params = params || {}; 
0

通過params = params || {};,你的意思,你不妨參考的參數數組傳遞? 如果是這樣,請嘗試arguments,arguments[0]應該是W3CElement

0

偶然意味着這個嗎?

function showKabineninfo(W3CElement, params) { 
    var params = params || {}; 
}