我對jQuery文檔有點困惑。我正在查看this page describing $.getJSON
。該代碼示例是:
$.getJSON('ajax/test.json', function(data) {
var items = [];
$.each(data, function(key, val) {
items.push('<li id="' + key + '">' + val + '</li>');
});
$('<ul/>', {
'class': 'my-new-list',
html: items.join('')
}).appendTo('body');
});
但方法簽名是jQuery.getJSON(url [, data ] [, success(data, textStatus, jqXHR) ])
,其中data
是發送到服務器的對象,並且success
是當JSON請求成功返回調用的方法。
那麼,爲什麼示例代碼工作的?它似乎跳過了第二個論點。我本來期望正確的代碼是:
$.getJSON('ajax/test.json', {}, function(data) {
// and then the same from here
我知道,方括號意味着[, data]
和[, success]
參數是可選的,但我想我不會用的參數個數可變了解JavaScript的交易。
謝謝你的時間。
我認爲它會檢查參數類型,如果是'function'它會成爲'成功',否則它將成爲'數據',但我不知道jQuery如何做它 – 2013-02-19 06:28:21
jquery函數使用它的獨特的解析方法,它不僅檢查參數,而且參數計數和類型爲好。 – Bluemagica 2013-02-19 06:29:53
爲什麼不看看源代碼? [.getJSON()](http://jsapi.info/jquery/1.8.3/jQuery.getJSON)(或[這裏](https://github.com/jquery/jquery)的完整源) – Andreas 2013-02-19 06:32:05