javascript - 帮助理解 Javascript 不寻常的函数声明语法

标签 javascript jquery jquery-plugins

我试图了解 ColorBox 背后的 Javascript/jQuery。某些形式的语法很难在 Google 上搜索,因为它们描述起来有点冗长。我无法理解以下行:

publicMethod = $.fn[colorbox] = $[colorbox] = function (options, callback) {

所以我假设正在创建一个名为 publicMethod 的新函数,但我们如何做,但我真的不了解第一个等号(“=”)之外的任何内容。

一个普通的函数声明看起来像这样:

function publicMethod(options, callback) {

因此,如果有人能帮助我理解语法,我将不胜感激。

最佳答案

在:

$.fn[colorbox]
  • $ 是一个毫无帮助的非描述性变量名。它包含一个对象。
  • $.fn 访问该对象的 fn 属性。
  • fn[colorbox] 访问该对象的属性,该对象的名称与存储在 colorbox
  • 中的字符串相匹配

但是 = 的右边是先定义的,所以在它赋值给 publicMethod 之前它赋值给 $[colorbox]$.fn[colorbox]

… 并且在此之前它分配(给那里)一个函数。

function () {} 定义一个匿名函数并将其传递给左侧(因此它存储在 = 另一侧的任何内容中)

关于javascript - 帮助理解 Javascript 不寻常的函数声明语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6275030/

相关文章:

javascript - 检查是否使用 jQuery 加载了图像(没有错误)

javascript - octokit getLabel 返回 TypeError : callback. 绑定(bind)不是函数

javascript - 如果模糊事件验证失败,则阻止执行操作

php - HTML 链接带有点 (.) 的 ID

javascript - 获取自己的 anchor href 值

jquery - 当用户尝试对数据进行排序时显示加载微调器

Javascript 与 jQuery 插件冲突 - 在测试页面上工作

javascript - 在没有安装 IDE 或编辑器的情况下开发 TypeScript

javascript - 创建多个相同的 DOM 元素图像

javascript - 无法在 StatusCode 回调中设置值