我试图了解 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/