为了我的好奇心,我要求自己为什么在这个代码片段中调用一个函数时,它返回我声明为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
怎么会发生呢?
那么如何才能将数据输出控制台作为输入数据进行管理而不会出现此错误"未定义"?
答案 0 :(得分:3)
在函数内部,您已经调用了console.log
,除了实际打印传递给它的内容(即prodotto
实例中的字段)之外,还返回undefined
然后将undefined
和console.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));