javascript-js全局变量的赋值和使用

问题描述

js全局变量的赋值和使用

var myArray = {};
var cpuNumMax = 1;
var cpuNumMin = 1;
function getVMProductByTypeMap(){
$.ajax({
url:"<%= request.getContextPath()%>/service/selfservice/getProductByTypeMap",
type:"post",
dataType:"json",
data:{"typeId":"1"},
cache: false,
asycn:false,
success: function (data) {
if(data != null && data != ""){
alert(data[0].cpuNumMax);////查到的值是32
cpuNumMax = parseInt(data[0].cpuNumMax);
cpuNumMin = parseInt(data[0].cpuNumMin);
for(var i=0; i<data.length; i++){
var memMax = data[i].memMax;
var memMin = data[i].memMin;
var cpuNum = data[i].cpuNum;
myArray[cpuNum] = memMin+"|"+memMax;
}
}
return resultFlag;
//console.log(myArray);
},
error:function(){
alert("error");
}
});
}
$(document).ready(function(){
getVMProductByTypeMap();
console.log(cpuNumMax); //1

});

ajax中我已使用了同步,但 为什么console.log(cpuNumMax); 输出是1,就是ajax中没有为其赋值 ?

解决方案

找到原因了。 这种写法本身是正确的。 是我单词拼错了

解决方案二:

js中的全局变量的使用

解决方案三:

最好找到问题原因的方法是调试,监听你的变量

解决方案四:

ajax是异步请求,你在执行console.log(cpuNumMax); 的时候 请求并没有完成,导致没有赋值,所以你输出来的就是原始数据了.

时间: 2024-10-21 12:56:11

javascript-js全局变量的赋值和使用的相关文章

浅谈JavaScript的全局变量与局部变量_javascript技巧

一.JavaScript scope 的划分标准是function函数块,不是以 if.while.for来划分的 <script> function f1(){ alert("before for scope:"+i); //i未赋值(并不是没有声明!使用未声明变量或函数会导致致命错误从而中断脚本执行) //此时i值为undefined for(var i=0; i<3;i++){ alert("in for scope:"+i);} //i的值

PHP+JavaScript+HTML变量之间赋值及传递

        本文是最近做WAMP网站的学习知识,这做这个网站过程中需要通过新闻通告的超链接显示相应的具体内容,所以就涉及到一些相关变量赋值传递的内容,包括:HTML超链接传递值通过JavaScript显示.JavaScript变量转换成PHP变量.超链接实现传递给PHP连接数据库(重点).PHP输出JavaScript内容. 一. HTML超链接传递值         首先讲述通过HTML超链接<A href=></A>实现跳转,再通过JavaScript实现获取传递的值.代码

跟我学习javascript的全局变量_javascript技巧

一.尽量少用全局对象 全局变量的问题在于,你的JavaScript应用程序和web页面上的所有代码都共享了这些全局变量,他们住在同一个全局命名空间,所以当程序的两个不同部分定义同名但不同作用的全局变量的时候,命名冲突在所难免. web页面包含不是该页面开发者所写的代码也是比较常见的,例如: 第三方的JavaScript库 广告方的脚本代码 第三方用户跟踪和分析脚本代码 不同类型的小组件,标志和按钮 比方说,该第三方脚本定义了一个全局变量,叫做result:接着,在你的函数中也定义一个名为resu

js给table赋值的实例代码_javascript技巧

要求:用js实现给一个table赋值如上:(定义X=70 [HTML] <table class="table table-bordered"> <thead> <tr> <th colspan="5" class="active">经济条件较好地区学费表</th> </tr> <tr> <th></th> <th>4-8人班&

JS全局变量和局部变量最新解析_javascript技巧

就是这种盲目无原理依据的研究测试弄晕了我, 有必要这么做吗? 其实理解了原理就没必要搞这么多一个一个的试, 然后得出规律, ECMAScript规则都已经定义好了. var的规则是: 使用var声明变量就是内部变量, 否则就是先调用全局变量, 不管多少层函数. this的规则是: method函数里的this永远指向自身, 普通函数的this永远指向DOMWindow. // GodDamnTest1 function Foo() { var a = 123; // 局部变量, 所有子函数的全局

js动态获得滚动条宽度 JavaScript,js

javascript|js|动态 我现在有一个层,层中有一个div,当内容比较多的时候就出现滚动条,我现在想,当滚动条出现的时候,div中表格的宽度等于div的宽度减去滚动条的宽度,如何才能去动态获得滚动条的宽度,或者判断滚动条的状态既是否出现.------------------------------------------------------------------------------------ 是不是想这样?<div id="demo" style="

javascript(js)的小数点乘法除法问题详解

 本篇文章主要是对javascript(js)中的小数点乘法除法问题进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 一.用js计算 12.32 * 7  结果是多少?答案:86.24000000000001   为什么会出现这种问题?怎么解决? js在处理小数的乘除法的时候有一个bug,解决的方法可以是:将小数变为整数来处理. 以上的计算可以改为: 12.32 * 100 * 7 /100 得出的结果是:86.24,正确.   另外再计算一下: 8.80 * 100 * 12 /

JS数组的赋值介绍

 本篇文章主要是对JS数组的赋值进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 代码如下: var test=[1,2,3,4,5,6,7];   var arr=test; arr.splice(2,1); alert(test);//1,2,4,5,6,7     JS数组实质上是对象.因此,上面的源代码最后打印出的是1,2,3,4,5,6.这是因为将test赋值给arr实际上是将数组的引用赋值给arr,所以操作arr也同时会    改变源数组.   要实现数组克隆,可用以下方法:

javascript中select的赋值问题?

问题描述 javascript中select的赋值问题? 一开始给select赋初始值,但是点击某一方法之后将会给select增加一个数组.那我怎么把一开始给select赋初始值给去掉呢? 解决方案 直接用$(""#select"").html('');如果要动态添加,需要你自己组成 var html = '<option value=""1"">test</option><option valu