2014-05-01 51 views
-1

我目前正在努力通過學習jQuery第4版,在那裏我給出了一個接受一個文本輸入的表單示例。表單在提交時,通過jQuery文檔搜索輸入的字符串,將其作爲JSONP對象並顯示它。.params到底是什麼,它有什麼作用?

在這個例子中,我給出下面的代碼片段

//more code 

    var buildItem = function(item) { 
    var title = item.name, 
     args = [], 
     output = '<li>'; 

    if (item.type == 'method' || !item.type) { 
     if (item.signatures[0].params) { 
     $.each(item.signatures[0].params, function(index, val) { 
      args.push(val.name); 
     }); 
     } 
     title = (/^jQuery|deferred/).test(title) ? title : '.' + title; 
     title += '(' + args.join(', ') + ')'; 
    } else if (item.type == 'selector') { 
     title += ' selector'; 
    } 
    output += '<h3><a href="' + item.url + '">' + title + '</a></h3>'; 
    output += '<div>' + item.desc + '</div>'; 
    output += '</li>'; 

    return output; 
    }; 

//more code 

我無法理解的線

​​

具體是什麼.params實際上做?我知道它是從返回的對象的簽名中訪問.params,但是我在返回的對象中沒有看到任何.params,我也不能在.params上找到任何文檔..

任何幫助都會不勝感激。

的jsfiddle可以在這裏找到:http://jsfiddle.net/QPR4Z/2/

回答

2

參見signatures[0]值 - 注意,這是從一個JSON請求[用於jQuery的API文檔] 任意數據。也就是說,「.params」不會做任何事情,除了功能正常屬性訪問。儘管語法突出,它是不是一個保留字並且有沒有特殊含義。


下面是一些有關提取JSON來說明這一點:

"signatures":[ 
    { // <-- i.e. signatures[0] 
    "added":"1.8", 
    "params":[ // <-- property called "params", which represents an array 
        //  of objects that describe the given parameter 
     {"name":"selector","type":"Selector",..} 
    ], 
    .. 
    }, 
    .. 
] 
+0

感謝您抽空發表評論,只是重申的時候,我是不是說得了「PARAMS」就像是一個功能一般佔位符訪問返回的__proto__對象? –

+0

@ Kenneth.J這不是一個函數,它只是一個屬性的名稱,比如「added」或「value」或「type」。 – user2864740

相關問題