繁体   English   中英

Javascript-查看对象是否包含函数,如果包含,则将其返回

[英]Javascript - see if object contains function, if so, return it

我有一个接受字符串的函数。 该函数检查列表中的对象是否具有此函数(functionName)。 如果包含该函数,该如何返回? 显然, return list[i].message would work ,但是那不是即时消息。 我想在这种情况下使用参数functionName。

function message(){
    return "hello";
}

function test(functionName);
    listLength = list.length;
    for(i = 0; i < listLength; i++){
        if(list[i].hasOwnProperty(functionName}{

            return (?)
    }
}
var x = test("message");
alert(x);

感谢您的回应

Pointy的评论是正确的,但是您必须考虑到拥有者分离了一个函数会破坏作用域,因此您将不再有权使用 this对象

var test = {
    number: 0,
    testFunction: function() {
        return this.number;
    }
}

console.log(test.testFunction());  // output: 0

var x = test.testFunction; 
console.log(x());                  // output: undefined

也许你应该使用

var y = test.testFunction.bind(test); 
console.log(y());                  // output: 0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM