首页 > 解决方案 > 在对象上调试 console.log

问题描述

console.log我收到关于 objectcanHandle: [Function: canHandle]和 second的输出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]

标签: javascriptnode.jsalexaconsole.log

解决方案


首先,您将一个函数分配给一个名为 canHandle 的属性。在这种情况下,该函数有一个名称,该名称是canHandle.

在第二个中,您将创建一个anonymous function并将其分配给对象的 canHandle 属性。这就是为什么第二个函数没有名称的原因。


推荐阅读