Javascript函数..命名?

Javascript function.. Named?

我很难理解这段代码。这不是我熟悉的典型 Javascript 函数语法。这是一个命名函数吗?或者这是更新事件的回调?抱歉,对于 noobie 问题,我对 JS 还很陌生。我了解发生的一切,除了这个函数语法 foo: function(){}; 这似乎经常发生在我正在关注的 api 教程中。

updateProgress: function () {    
  $.post('/callback', {
    progress: plnzVideoTracker.progress
  });   
}

它似乎是一个对象方法 ("literal")。您包含的代码应该包装在一个对象中。例如:

var SomeObject = {
  updateProgress: function () {    
    $.post('/callback', {
      progress: plnzVideoTracker.progress
    });   
  }
}

对象内部,可以通过this.updateProgress()引用方法。在对象之外,您将使用 SomeClass.updateProgress().

您可以在 MDN Docs.

中阅读有关对象文字的更多信息

在以下形式的对象文字表达式中:

{
   // properties ...
}

后跟冒号的标识符是对象的 属性 名称,然后是 属性 值:

{
  prop1: value
}

函数表达式的形式为:

function () {
  // function body ...
}

就像任何其他表达式一样,您可以将其分配给任何变量或 属性.

所以...

updateProgress: function () {    
  $.post('/callback', {
    progress: plnzVideoTracker.progress
  });   
}

是(可能)对象表达式的一个片段,它定义了一个名为 updateProgress 的 属性,其值是分配给它的(未命名的)函数。