Node.js在函数中查看对象以及为什么对象的属性未定义

时间:2018-12-13 15:04:58

标签: javascript node.js json function bdd

我是编程新手,因此将非常感谢您学习“ node.js”的任何技巧,并可以通过“学习行为驱动的JavaScript开发”一书来学习

请建议我如何在控制台日志中查看对象,请建议我如何理解为什么对象属性被捕获为未定义,以及调试节点代码问题的最佳方法是什么,我目前使用的是IntelliJ Community Edition

 var order = function (orderDAO) {
    return {
        display: (orderId) =>  { return {
            "items": [],
            "totalPrice": 0,
            "actions": [{
            action:'append-beverage',
            target: orderId,
            parameters: { beverageRef: null,
                    quantity: 0
                },
            }],
        }},
    }
}

console.log(typeof order),
console.log(order())
console.log(order.toString()),
console.log(order.items),

module.exports = order

输出

$node orders.js

function

{ display: [Function: display] }
function (orderDAO) {
    return {
        display: (orderId) =>  { return {
            "items": [],
            "totalPrice": 0,
            "actions": [{
            action:'append-beverage',
            target: orderId,
            parameters: { beverageRef: null,
                    quantity: 0
                },
            }],
        }},
    }
}
undefined

2 个答案:

答案 0 :(得分:0)

使用df['To']= df['To'].apply(lambda x: x +',') df = df.groupby(['Type','From'])['To'].sum().reset_index() df['To'] = df['To'].apply(lambda x:x.rstrip(',')) 打印项目

console.log(order().display().items);是一个函数而不是对象,order中的display也是一个函数。

内部逻辑是:

order函数返回一个order函数,而display函数返回一个对象。

所以我们需要使用display来获得该对象。

作为新的js编码器,您只需使用order().display()来测试您的代码

答案 1 :(得分:0)

您应正确使用立即调用函数表达式javaScript语法:https://developer.mozilla.org/en-US/docs/Glossary/IIFE

var order = function (orderDAO) {
        return (orderId) => {
              return {
                  "items": [],
                  "totalPrice": 0,
                  "actions": [{
                      action:'append-beverage',
                      target: orderId,
                      parameters: { 
                        beverageRef: null,
                        quantity: 0
                      }
                  }]
              };
        };
    }();
    
console.log(typeof order),
console.log(order('ORDERID'))
console.log(order().items)