gpt4 book ai didi

javascript - 如何克服 "potentially invalid usage of this"?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:07:08 29 4
gpt4 key购买 nike

在调用 isDataMatchingnamespace 时,我得到了 this 的潜在无效用法如何克服以及如何以正确的方式调用 isDataMatchingnamespace

function Client() {

var namespace = "default";

this.addnamespaceTodata = function(data) {
data.namespace = namespace;
return data;
};

this.isdataMatchingnamespace = function(data) {
return data.namespace === namespace;
};

this.filterdatasBynamespace = function(datas) {
var result = [];
_.forEach(datas, function(data) {
if (this.isdataMatchingnamespace(data)) { // I get potentially invalid usage of this so how to overcome and how to call isDataMatchingnamespace in a proper way?
result.push(data);
}
});
}
}

module.exports = Client;

最佳答案

这是 this 的无效用法,因为 this 在该函数内是 undefined

underscore.js 允许您将可选的附加参数传递给 forEach 以指定 this 应该在函数内部。如果您希望它与函数外部的 this 相同,则将 this 作为第三个参数传递给 _.forEach。 :

    _.forEach(datas, function(data) {
if (this.isdataMatchingnamespace(data)) {
result.push(data);
}
}, this); // Added ", this"

关于javascript - 如何克服 "potentially invalid usage of this"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40605479/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com