2012-01-04 41 views
1

我愛jQuery的風格的參數解析,並希望在自己的函數中使用它:獲取數據出來PlainObject的JQuery的

foo({ 'name': 'bob', 'age': 21 }); 
    function foo (param){ 
    alert($.isEmptyObject(param)); //shows true 

    //now what? :-) 

    //param.prop('name'); does not work 
    //$param=$(param); $param.prop('name'); still does not work 
    //treating it as an array also does not work 
    } 

我怎樣才能在我傳遞的數據?

+0

你想做什麼?您目前正在調用一個名爲'param'的函數並將一個對象傳遞給它,但是您沒有向我們展示函數'param'的代碼。您還沒有向我們展示如何調用foo,這對於'param'的值在'foo'中的值是很重要的。 – 2012-01-04 21:37:56

+1

你是不是指'foo({'name':'bob','age':21});'? – 2012-01-04 21:39:52

+0

呃,是的,我的意思是foo。對不起,錯字。我糾正了這個帖子! – KateYoak 2012-01-05 19:42:57

回答

2

我不知道你究竟在做什麼,但是這工作得很好:

foo({ 'name': 'bob', 'age': 21 }); 

function foo (param){ 
    alert($.isEmptyObject(param)); //shows false 
    alert(param.name); 
} 
2

我不完全相信你做的第一行是什麼。它看起來像你正在調用一個名爲param的函數,但如果是這樣的話,你不會將返回的值分配給任何東西。

它看起來像你想的對象傳遞到foo,在這種情況下,也許你究竟想要的是:

var paramObject = { name: 'bob', age: 21 }; //JS object to pass into foo 
foo(paramObject); //Call foo, passing in paramObject 
function foo(param) { 
    console.log(param.name); //Prints "bob" 
} 

如果我誤解了,你確實有一個名爲函數是param返回一個對象,發佈代碼也是有用的。

+0

謝謝!這很好。我不知道爲什麼我無法找到param.name語法。我傻了。 :-)(帖子​​有一個錯字,你對我的意圖的假設是正確的!) – KateYoak 2012-01-05 20:56:34

+0

沒問題,很高興我可以幫忙:) – 2012-01-05 20:57:53