用于定义参数的JavaScript语法

时间:2016-01-29 15:56:47

标签: javascript magento parameters algolia

我的magento商店的搜索功能第三方扩展程序为我提供了一个javascript文件。

第三方告诉我用值'firstWords'定义参数'removeWordsIfNoResults'。

我在js文件中找到了这一行:

this.removeWordsIfNoResults = params.removeWordsIfNoResults;

但是,我不确定如何将其设置为'firstWords'。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

看看documentation,这几乎就像我猜测的那样,而不是构造函数。

从文档中检查此示例代码段:

// simple query
index.search('jim', searchCallback);

// with parameters
index.search(
  'jim', {
    hitsPerPage: 5, facets: '*'
  },
  searchCallback
);

function searchCallback(err, content) {
  if (err) {
    return err;
  }

  content.hits.forEach(function(hit) {
    console.log(hit);
  });
}

请注意,第二个.searchobject{})填充值作为其第二个参数,并且回调移动到第三个参数位置。

这是您定义参数的对象。

index.search(
  'jim', {
    removeWordsIfNoResults: 'firstWords'
  },
  searchCallback
);

原始答案:

听起来你正在使用某种构造函数,它需要传递给它的设置object

查看MDN的Working with objects,了解如何在JavaScript中创建,传递,访问和操作对象。

以下是将配置样式对象传递给函数的示例 - 在本例中为构造函数。

function MyObject (config) {
  this.someKeyValue = config.someKeyValue;
}


var myObject = new MyObject({ someKeyValue: 'Some String' });

console.log(myObject.someKeyValue);