我在这段代码中想要实现的是能够使用console.log(createdAnimal),然后使用这些参数获取打印出objectAnimal的代码:
animalMaker('cat','flying',true);
当我调用animalMaker函数时它会起作用,但是当我在console.log(createdAnimal)时我需要它才能工作。
提前谢谢!
以下是代码:
function animalMaker(inputType, inputSuperPower, inputCanFly){
var objectAnimal = {
'type': inputType,
'inputSuperPower': inputSuperPower,
'inputCanFly': inputCanFly,
'createdBy': 'Scotty'
};
console.log(objectAnimal)
}
var createdAnimal = animalMaker('cat','flying',true);
console.log(createdAnimal);
答案 0 :(得分:4)
您需要从函数返回对象:
function animalMaker(inputType, inputSuperPower, inputCanFly){
var objectAnimal = {
'type': inputType,
'inputSuperPower': inputSuperPower,
'inputCanFly': inputCanFly,
'createdBy': 'Scotty'
};
return objectAnimal;
}
答案 1 :(得分:3)
截至目前,您的animalMaker
函数未返回任何内容,并且在未返回值时,函数默认会在javascript中返回undefined
。
因此,当使用animalMaker
函数返回的值设置变量时,该值将为undefined
。
要将createdAnimal
变量设置为objectAnimal
的值,您需要从函数返回它。您可以通过使用return语句结束animalMaker
函数来执行此操作:
return objectAnimal;
请记住,函数子句中的return语句之后的代码永远不会执行,return
结束函数:
function example() {
return true;
console.log('This will never be printed');
}