Javascript 为什么当我在console.log(createdAnimal)中未定义时?
我试图在这段代码中实现的是能够控制台.log(createdAnimal),然后让代码用以下参数打印出objectAnimal:Javascript 为什么当我在console.log(createdAnimal)中未定义时?,javascript,function,Javascript,Function,我试图在这段代码中实现的是能够控制台.log(createdAnimal),然后让代码用以下参数打印出objectAnimal: animalMaker('cat','flying',true); 它在调用animalMaker函数时工作,但在我调用console.log(createdAnimal)时需要它工作 提前谢谢你 代码如下: function animalMaker(inputType, inputSuperPower, inputCanFly){ var objectAnim
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);
您需要从函数返回对象:
function animalMaker(inputType, inputSuperPower, inputCanFly){
var objectAnimal = {
'type': inputType,
'inputSuperPower': inputSuperPower,
'inputCanFly': inputCanFly,
'createdBy': 'Scotty'
};
return objectAnimal;
}
function example() {
return true;
console.log('This will never be printed');
}
到目前为止,您的
animalMaker
函数不会返回任何内容,当不返回值时,默认情况下,函数将返回javascript中的未定义的
。因此,当使用
animalMaker
函数返回的值设置变量时,该值将为undefined
要将createdAnimal
变量设置为objectAnimal
的值,您需要从函数返回它。通过使用返回语句结束animalMaker
函数来实现:
return objectAnimal;
记住,函数子句中return语句之后的代码永远不会执行,return
结束函数:
function animalMaker(inputType, inputSuperPower, inputCanFly){
var objectAnimal = {
'type': inputType,
'inputSuperPower': inputSuperPower,
'inputCanFly': inputCanFly,
'createdBy': 'Scotty'
};
return objectAnimal;
}
function example() {
return true;
console.log('This will never be printed');
}