2012-08-09 81 views
0

在我的應用程序中,我有一個如下所示的javascript函數。javascript params object not working

var params = {}; 
function getMethod(art) { 
    if (art == 'artwork') { 
     params['type'] = 'paper art'; 
    } 
    params['medium'] = 'canvas'; 
    params['entity'] = 'paper'; 
} 

此功能在Firefox中正常工作。但它在IE和Chrome中失敗。 它打破params ['type']
給出錯誤參數是未定義的。 任何想法我在這裏做什麼錯誤。

+4

我剛在Chrome和它工作得很好,你是如何調用方法? – Ibu 2012-08-09 19:47:34

+3

發佈的代碼不代表導致問題的代碼。發佈的代碼很好。 – canon 2012-08-09 19:48:21

+0

發佈的代碼最初在'論文後缺少單引號。 OP修改了它,但沒有表明他已經改變了它。 – 2012-08-09 19:56:55

回答

1

這裏是我應該怎樣使用它:

var params = {}; 
function getMethod(art) { 
    if (art == 'artwork') { 
     params.type = 'paper art'; 
    } 
    params.medium = 'canvas'; 
    params.entity = 'paper'; 
} 

// ... later 
getMethod("not art"); 

// check if it is defined before using it 
if (params.type && params.type == 'artwork') { 
    // do artwork stuff 
} 
+0

單引號params.type,params.medium不起作用。它不承認。你確定我們可以使用Javascript – Henry 2012-08-09 20:03:56

+0

添加像這樣的新屬性嗎?除非你顯示你是如何調用你的函數的,除此之外沒有別的可以做的 – Ibu 2012-08-09 20:12:44