Javascript 对象在函数中创建后未定义

标签 javascript function object

我似乎无法从函数返回对象,函数内部的 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/

相关文章:

c - 如何使用 return 命令而不是 printf 来获得定义的 float 函数的相同输出?

javascript - 将 .addEventListener 添加到函数中

javascript - 更加模块化;在 .js 文件中包含 html 元素?

javascript - 如何在 jQuery Datepicker 中添加一个类

Python 3.4 以()结尾

javascript - 如何使用变量实例化类

java - 使用 jackson 动态嵌套 json 字符串到 java 对象

javascript - 将对象数组打印到 HTML 数据属性中

javascript - 如何在位置上定向自定义 Canvas 形状

java - Window.location.href 有时不工作的原因是什么?