console.log中,我接收到对象canHandle: [Function: canHandle]的输出,在第二个canHandle: [Function]中。两者有什么区别?

const SessionEndedRequest = {
    canHandle(handlerInput) {
        return handlerInput.requestEnvelope.request.type === 'SessionEndedRequest';
    }
};

返回canHandle: [Function: canHandle]

obj = {};
obj.canHandle = function (handlerInput) {
    return handlerInput.requestEnvelope.request.type === that.type
        && handlerInput.requestEnvelope.request.intent.name === that.name;
}

重新运行canHandle: [Function]

最佳答案

首先,将函数分配给一个名为canhandle的属性。在这种情况下,函数有一个名称,该名称是canHandle
第二步是创建一个anonymous function并将其分配给对象的canhandle属性。这就是为什么第二个函数没有名称。

07-24 20:53