gpt4 book ai didi

JavaScript 对象变量在运行时未定义,但可以访问

转载 作者:行者123 更新时间:2023-12-03 12:34:39 25 4
gpt4 key购买 nike

在尝试访问确实存在但在运行时不存在的对象变量时,我遇到了 JavaScript 的一些奇怪行为。

以下显示了我尝试访问的对象的启动:

app.examView = new app.ExamView({el: $("#main_wrap"), model: model});

这是定义和对对象创建的调用,我试图在其中访问 app.examView 变量。

app.ExamView = Backbone.View.extend({
initialize: function(){
this.render();
this.calculatorView = new app.ExamCalculatorView({el: $("#exam_calculator_container"), model: this.model});
this.questionView = new app.ExamQuestionView({el: $("#exam_question"), model: this.model});

在此处记录 examView 变量返回未定义:

var app = app || {};

app.ExamQuestionView = Backbone.View.extend({
initialize: function(){
console.log(app.examView);

尽管如此,该对象可以通过控制台访问: Firebug console

任何帮助将不胜感激。

最佳答案

我假设您的 Backbone View 在 DOM 准备好之前就调用了 render() 。您的代码是否包含在 $(document).ready() 中?

“奇怪的行为”是因为该元素在 DOM 完成后才可用。

关于JavaScript 对象变量在运行时未定义,但可以访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23781250/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com