我似乎无法从函数返回对象,函数内部的 console.log 可以很好地打印出属性值,但是一旦在函数外部,我就会收到“ Uncaught ReferenceError :firstOn 未定义”
如有任何帮助,我们将不胜感激,谢谢!
myElement = document.getElementById("testButton");
function Server(name,tables,startTime) {
this.name = name;
this.tables = tables;
this.startTime = startTime;
}
document.forms.server1.button.onclick = function() {
var name = document.forms.server1.servername.value;
var tables = document.forms.server1.servertables.value;
var startTime = document.forms.server1.servertime.value;
var firstOn = new Server(name,tables,startTime);
document.forms.server1.button.innerHTML = "Saved!";
console.log(firstOn.name);
console.log(firstOn.tables);
console.log(firstOn.startTime);
return firstOn;
};
myElement.onclick = function() {
console.log(firstOn.name);
console.log(firstOn.tables);
console.log(firstOn.startTime);
};
最佳答案
firstOn 对象是在本地函数作用域中创建的。它不会在第二个函数中全局可用。
关于Javascript 对象在函数中创建后未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11639319/