jquery - 为什么jquery插件中的变量中存在对函数的调用

标签 jquery plugins function

我想尝试理解这些结构的用法 因为我不这样做。

如果我在插件中看到这个

function configuration(user_settings) {
    //Override the default settings with the user settings
 defaults = { 
 time_in_seconds: 3600,
 time_format: 'ss',
 tick: function(timer, time_in_seconds, formatted_time) {},
 buzzer: function(timer) {},
 autostart: true
  };
  return $.extend(defaults, user_settings);

}

在插件内调用刻度并设置新值 但是当我注释掉这些行时,一切仍然有效。

其背后的总体想法是什么? 我看了github page ,但没有解释

编辑

如果插件迭代,它正在设置tick的参数

settings.tick(timer, current_time, formatted_time);

如何为勾选设置 user_setting,仍然可以使用这些参数?

换句话说,在这些执行 {} 括号之间获取一些内容。

编辑 我做了一些更多的测试,显然可以随时传递任意数量的参数。只需传递类似的东西

$("#countdown_update").createTimer({time_in_seconds: ( delay? delay/1000 : minTimeBetweenUpdates/1000 ),
        tick:function(one,two){$('#test').html('test '+one+two);}});

它将在输出中为您提供计时器对象和 time_in_seconds

谢谢理查德

最佳答案

它很可能仍然有效,因为插件已经在代码中分配了默认值。通过注释掉您的行,​​插件将恢复为默认配置。

关于jquery - 为什么jquery插件中的变量中存在对函数的调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3096020/

相关文章:

javascript - 将变量传递给函数时出错 javascript 不允许更改 CSS

javascript - localhost 添加到网址前面

jquery - jqplot:如何不渲染任何x轴标签

'auto-closed' 括号的 Vim 插件?

android - 适用于 Android 和我手机的缩放级别插件

java - 用于生成类图的 Eclipse 插件

c++ - 在 C++ 中,函数重载通常是如何实现的?

javascript - Opera 和 ie 缓存 <p class ="hide">,所以 javascript 不起作用

Python:传递带有参数的函数作为参数

带括号的 C++ 非函数 typedef