📅  最后修改于: 2023-12-03 15:32:44.704000             🧑  作者: Mango
_.methodOf()
是 Lodash 库中的一个方法,用于获取指定对象中指定路径上的函数(即方法),并返回一个函数的引用。该函数可以接收若干个参数,并将这些参数传递给路径上的函数执行。
_.methodOf(object, [path])
object
:需要查询的对象。[path]
:需要查询的路径。可以是字符串、数组或生成器函数。const user = {
name: 'John Doe',
getFullName() {
return this.name;
}
};
const getName = _.methodOf(user, 'getFullName');
console.log(getName()); // 输出:'John Doe'
在上面的示例中,我们定义了一个名为 user
的对象,其包含一个 getFullName()
方法,该方法返回 user
对象的名字。然后我们使用 _.methodOf()
方法获取 getFullName()
方法的引用,并将其赋值给 getName
变量。最后我们调用 getName()
方法并输出其返回值,即 John Doe
。
const user = {
profile: {
name: 'John Doe',
getFullName() {
return this.name;
}
}
};
const getName = _.methodOf(user, ['profile', 'getFullName']);
console.log(getName()); // 输出:'John Doe'
在上面的示例中,我们定义了一个名为 user
的对象,其包含一个 profile
属性,profile
属性又包含一个 getFullName()
方法。我们使用 _.methodOf()
方法获取 getFullName()
方法的引用,并将其赋值给 getName
变量。注意路径参数传递的方式,使用数组表示需要获取的路径。最后我们调用 getName()
方法并输出其返回值,即 John Doe
。
const user = {
name: 'John Doe',
getName(suffix) {
return `${this.name} ${suffix}`;
}
};
const getName = _.methodOf(user, 'getName');
console.log(getName('Allen')); // 输出:'John Doe Allen'
在上面的示例中,我们定义了一个名为 user
的对象,其包含一个 getName()
方法。该方法接收一个参数 suffix
,并将其与 user
对象的名字拼接返回。我们使用 _.methodOf()
方法获取 getName()
方法的引用,并将其赋值给 getName
变量。我们调用 getName()
方法并传递了一个参数 Allen
,最后输出其返回值 John Doe Allen
。
_.methodOf()
是 Lodash 库中的一个有用的函数,可以方便地获取对象中指定路径上的方法,并返回一个函数引用,使我们可以方便地调用该方法。