我现在正在使用JQuery一段时间,但有一件事仍然让我感到困惑。
看看这个功能:
jQuery.each(function(index) { ... });
jQuery.each(function(index, value) { ... });
我怎么知道 - 不看示例(或api.jquery.com) - 回调函数有一个
index
(或index, value
)作为参数?
另一个:
jQuery.ajax({url: "test.jsp", cache: false}).done(function( data ) { ... });
我怎么知道,jQuery.ajax可以有一个JSON对象url
和cache
等等?
而且,done
来自哪里?
AFAIK,IDE在代码完成方面几乎没有支持,因此对于IDE的JS解析器来说这似乎是一个复杂的问题。
谢谢。
此致 伯尼
PS:自然我是一个Java人,JS对我来说仍然很奇怪; - )答案 0 :(得分:2)
您阅读了jQuery文档,其中列出了方法可以采用的所有可能参数。
答案 1 :(得分:1)
一种方法是查看source code的jQuery.each
。
它显示回调函数是called
,带有两个参数。
callback.call(obj[i], i, obj[i]);
i
指的是数组索引,obj[i]
指的是下标i
的数组。由于回调是使用引用下标i的数组的this
值调用的,因此您还可以通过this
答案 2 :(得分:1)
jQuery API网站回答了所有这些问题。 (收藏它!)
例如,.each上的页面告诉您回调函数具有签名function(index, Element)
。
答案 3 :(得分:0)
您有多种选择:
console.log();
打印函数的源代码,如下所示: console.log($.each);
正如Jeremy所指出的,您还可以在回调函数中添加console.log(arguments);
。它将打印传递的参数,你可以推断出它们的含义。
另一种选择是使用 IDE ,例如 Webstorm ,它具有令人难以置信的良好集成。