2011-10-25 147 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 || {}; 
}