以下语法到底意味着什么?
$(function() {..}
,如
$(function () {
$(".add_folder").click(function () {
这仅仅意味着定义anonymos功能吗?还是执行它?
TIA
答案 0 :(得分:3)
这意味着与$(document).ready(function() {});
加载文档时,它会调用传入的函数。我没有发现$(function() {})
表单非常自我记录,因此我在代码中使用$(document).ready(function() {});
表单,尽管它们也做同样的事情。
请参阅jQuery doc以供参考。
答案 1 :(得分:0)
第一个在全局范围内执行,另一个是仅定义。所以当单击元素时它会触发
答案 2 :(得分:0)
关于“它做了什么”的相关问题,我已经关闭/关闭了关于“如何”的工作:
expression(...)
始终将表达式的结果视为函数对象并尝试调用它。 (如果结果不是函数对象,则会出错。)
function (...) {...}
- - 计算匿名函数对象。它从不调用所述函数。
$
只是一个“普通标识符”,或者是这种情况下的表达式。 (在这个例子中可能是$ === jQuery
。)
因此,上述在语义上等同于(忽略财产污染):
func = $;
anon_func = function () {...};
func(anon_func);
func
与anon_func
的确切属于func
。在这种情况下,由于func
和$
以及jQuery
评估相同的函数对象,因此行为由jQuery(callback)定义。
快乐的编码。