javascript-js 定义的全局变量 在使用的时候报 undefined 错误

问题描述

js 定义的全局变量 在使用的时候报 undefined 错误
alarmInputData = {};   //定义的全局变量

function alram_getCfgEx_success_callback(data)
{

    //alert("recv: "+ data);
    var msg = JSON.parse(data);
    alarmInputData = msg.result.args;
    var day = new Date();
    day = day.getUTCDay();
    setSelectedByValue("alramInput_date",day);
    loadsetAlarmTimeVal(alarmInputData.inputs[0].timetable.timeSlice[day]);
}

在使用时用alert()可以显示出值,但是执行后面的字符串相加的会报 TypeError: alarmInputData.inputs[k] is undefined 的错误。

 alert(alarmInputData.inputs[k].timetable.timeSlice[i][j].startHour);//会打印出值
timeStr[j] = '"startHour":'+'"'+alarmInputData.inputs[k].timetable.timeSlice[i][j].startHour+'"';

解决方案

看看数组的数量是否满足k

解决方案二:

你下面2句是在alram_getCfgEx_success_callback里面的还是什么?看你代码alram_getCfgEx_success_callback是异步获取数据后的回调函数,如果你后续代码不在这个函数里面,会有问题,因为异步获取数据有个时间差,你直接使用数据不一定返回执行了alram_getCfgEx_success_callback进行变量的赋值

alert(alarmInputData.inputs[k].timetable.timeSlice[i][j].startHour);//会打印出值
timeStr[j] = '"startHour":'+'"'+alarmInputData.inputs[k].timetable.timeSlice[i][j].startHour+'"';

时间: 2024-08-03 22:23:54

javascript-js 定义的全局变量 在使用的时候报 undefined 错误的相关文章

azure-我想用javascript去调用Bing Search API, 但是总是报认证错误,什么原因?

问题描述 我想用javascript去调用Bing Search API, 但是总是报认证错误,什么原因? 大家好! 我想用javascript去调用Bing Search API, 但是总是报认证错误,是不能使用Js调用呢还是我的认证方式错了? 求解答?? 解决方案 一般都有oauth认证.你需要先拿到一个授权token 解决方案二: 您好, 可以使用JS去调用,您可以参考我如下的调用方式: <!DOCTYPE html> <html> <head> <scri

JavaScript函数定义的常见注意事项小结_javascript技巧

本文就javascript函数定义的常见问题进行了总结.包含了初学者常犯的错误.分享给大家供大家参考.具体总结如下: 1. 函数声明的同时JS引擎还定义了一个与函数名同名的变量,我们在调用这个函数的时候实际上是在使用这个变量,且它可以在函数声明之前调用,例如 foo(); //这里实际上是使用了一函数变量 function foo() { alert('hello'); } 2. 函数表达式,此时将匿名函数赋值给了一变量,此变量需在定义后使用,例如 foo(); //报错,未定义 var foo

javascript从定义到执行 你应知这些事

javascript从定义到执行,JS引擎在实现层做了很多初始化工作,因此在学习JS引擎工作机制之前,我们需要引入几个相关的概念:执行环境 栈.全局对象.执行环境.变量对象.活动对象.作用域和作用域链等,这些概念正是JS引擎工作的核心组件.这篇文章的目的是孤立的为你讲解每一个概念,而 是通过一个简单的demo来展开分析,全局讲解JS引擎从定义到执行的每一个细节,以及这些概念在其中所扮演的角色. var x = 1;  //定义一个全局变量 x  function A(y){     var x 

JS定义网页表单提交(submit)的方法

 这篇文章主要介绍了JS定义网页表单提交(submit)的方法,实例分析了javascript实现表单提交执行自定义函数的方法,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了JS定义网页表单提交(submit)的方法.分享给大家供大家参考.具体如下: 这段代码表示网页表单提交时不是提交到指定的页面,而是执行一个特定的函数 ? 1 2 3 4 5 6 7 8 9 10 <script> function saveInfo() { localStorage.setItem(&q

javascript中定义类的方法详解

 这篇文章主要详细介绍了javascript中定义类的方法的相关资料,需要的朋友可以参考下     JS中定义类的方式有很多种: 1.工厂方式   代码如下: function Car(){ var ocar = new Object; ocar.color = "blue"; ocar.doors = 4; ocar.showColor = function(){ document.write(this.color) }; return ocar; } var car1 = Car(

Javascript中定义类

Javascript 本身并不支持面向对象,它没有访问控制符,它没有定义类的关键字class,它没有支持继承的extend或冒号,它也没有用来支持虚函数的 virtual,不过,Javascript是一门灵活的语言,下面我们就看看没有关键字class的Javascript如何实现类定义,并创建对象. 一:定义类并创建类的实例对象 在Javascript中,我们用function来定义类,如下: function Shape() { var x = 1 ; var y = 2 ; } 你 或许会说

javascript中局部变量和全局变量的区别详解_javascript技巧

javascript有两种变量:局部变量和全局变量.当然,我们这篇文章是帮助大家真正的区别这两种变量. 首先,局部变量是指只能在本变量声明的函数内部调用.全局变量时整个代码中都可以调用的变量.当然,单单从字面上理解肯定是不清楚的,下面我详细的介绍下: 大家都知道,变量是需要用var关键字声明的.但是javascript中也可以隐式的使用变量,就是不用声明,直接使用.而且,千万注意,javascript把隐式声明的变量总是当成全局变量来使用的. 例如: 复制代码 代码如下: function my

JavaScript中定义类的方式详解_javascript技巧

本文实例讲述了JavaScript中定义类的方式.分享给大家供大家参考,具体如下: Javascript本身并不支持面向对象,它没有访问控制符,它没有定义类的关键字class,它没有支持继承的extend或冒号,它也没有用来支持虚函数的virtual,不过,Javascript是一门灵活的语言,下面我们就看看没有关键字class的Javascript如何实现类定义,并创建对象. 一.定义类并创建类的实例对象 在Javascript中,我们用function来定义类,如下: function Sh

《第三方JavaScript编程》——第1章 第三方JavaScript介绍 1.1 第三方JavaScript的定义

第1章 第三方JavaScript介绍 本章包括 第三方JavaScript的定义 几个第三方应用实例 实现一个简单的嵌入式微件 了解第三方开发的挑战 第三方JavaScript是一种JavaScript编程模式,可以用来创建高度分布式的Web应用程序.常规的Web应用需要通过一个特定的Web地址访问,而第三方JavaScript创建的应用,只需要引入一些简单的JavaScript脚本就可以加载到任意页面上. 你之前也许就曾遇到过第三方JavaScript.例如广告脚本,它可以在发布者网站上生成