2013-05-17 16 views
1

瞭解函數並且無法理解爲什麼當我嘗試使關鍵字成爲參數時它們會中斷。當把一個值作爲參數而不是關鍵字時,它們工作得很好。我對JavaScript或jQuery有什麼不瞭解?如何在使用JavaScript的函數中將鍵指定爲參數

例如:

function box(e, a, q, r) { 
    $('div').animate({ 
     r : e, 
     'height' : a 
    }, q); 
} 

box('200px', '200px', 500, 'width'); 

如果我刪除了4個參數R,它工作正常。但是關於在鍵/值對中鍵入的東西不起作用。教我,互聯網。

回答

5

在對象字面值中,所有的鍵被標識爲字符串。要爲JS對象鍵使用方括號中使用變量:

function box(e, a, q, r) { 
    var config = { 
     height : a 
    }; 
    config[r] = e; 

    $("div").animate(config, q); 
} 

瞭解更多:http://www.jibbering.com/faq/faq_notes/square_brackets.html#vId

+0

是否應高度用引號括起來?我的印象只是保留關鍵字所必需的。 –

+0

@BradM它並不重要。 – VisioN

+0

是啊,我之前因爲不使用引號而被燒了,所以我現在一直都在使用它們。 – wetjosh

相關問題