管理console.log()作为数据输入

时间:2018-03-13 15:58:53

标签: javascript typescript

为了我的好奇心,我要求自己为什么在这个代码片段中调用一个函数时,它返回我声明为Undefined声明的对象? 这是按照我的例子:

var scarpaAcquistata = {
    marca: "nike",
    numero: 42,
    colore: "rosso"
};

function stampaListascarpe(prodotto) {
     stampa= console.log(prodotto.colore, prodotto.marca, prodotto.numero);
    return stampa;
}
console.log(stampaListascarpe(scarpaAcquistata));

函数返回:nike,42,rosso,undefined怎么会发生呢? 那么如何才能将数据输出控制台作为输入数据进行管理而不会出现此错误"未定义"?

2 个答案:

答案 0 :(得分:3)

在函数内部,您已经调用了console.log,除了实际打印传递给它的内容(即prodotto实例中的字段)之外,还返回undefined

然后将undefinedconsole.log返回到函数外部,打印最后一个undefined

答案 1 :(得分:3)

console.log()不会返回变量,但您要为其输出分配stampa。由于没有输出,stampa将保持未定义。

如果您希望stampaListascarpe()只返回prodotto范围变量,您可以这么做:

var scarpaAcquistata = {
    marca: "nike",
    numero: 42,
    colore: "rosso"
};

function stampaListascarpe(prodotto) {
    return prodotto;
}
console.log(stampaListascarpe(scarpaAcquistata));