老师,全局变量是从第一次开始运行就保留它的值,然后再次刷新时,沿用的是最新的值?

老师,全局变量是从第一次开始运行就保留它的值,然后再次刷新时,沿用的是最新的值?

老师,全局变量是从第一次开始运行就保留它的值,然后再次刷新时,沿用的是最新的值?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
提问者 精慕门618366 2019-09-16 16:44:52

我记得是这个复选框的这个,正选,反选什么的?

html:

<!DOCTYPE html>

<html>

<head>

<title></title>

<script type="text/javascript" src="index8.js"></script>

</head>

<body onload="ymd(),initLogo()">

<form>

<select name="yyyy" id="yyyy" onchange="selectYmd()"></select>年

<select name="mm" id="mm" onchange="selectYmd()"></select>月

<select name="dd" id="dd"></select>日

<input type="button" value="删除列表框条目" onclick="deleteselect()"><br>

<img src="image/headLogo/1.gif" id="logoImg">

<select name="logo" id="logo" onchange="selectLogo()"></select><br>

<input type="checkbox" name="interest">游泳

<input type="checkbox" name="interest">爬山

<input type="checkbox" name="interest">看书

<input type="checkbox" name="interest">听歌

<input type="button" id="btn1" onclick="checkInterest()" value="全选">

<input type="button" onclick="checkInterest1()" value="反选">

</form> 

</body>

</html>

css:

function ymd(){

var yyyy=document.getElementById("yyyy");

var mm=document.getElementById("mm");

var dd=document.getElementById("dd");

var d1=new Date();

var year=parseInt(d1.getFullYear());

initSelect(yyyy,1999,year);

initSelect(mm,1,12);

initSelect(dd,1,31);

var n=yyyy.length;

yyyy.selectedIndex=Math.round(n/2);

}

function initSelect(obj,start,end){

for(var i=start;i<=end;i++){

obj.options.add(new Option(i,i));

}


}

function selectYmd(){

var yyyy=document.getElementById("yyyy");

var mm=document.getElementById("mm");

var dd=document.getElementById("dd");

var m=parseInt(mm.value);

var dayEnd;

var y;

if(m==4 || m==6 || m==9 || m==11){

dayEnd=30;

}else if(m==2){

dayEnd=28;

y=parseInt(yyyy.value);

if((y % 4==0 && y%100!=0) || y%400==0){

dayEnd=29;

}

}else{

dayEnd=31;

}

dd.options.length=0;

initSelect(dd,1,dayEnd);


}

function deleteselect(){

var dd=document.getElementById("dd");

//dd.options.remove(1);

for(var i=dd.length;i>=0;i--){

dd.options.remove(0);


}


}

function initLogo(){

var logo=document.getElementById("logo");

for(var i=1;i<=15;i++){

logo.options.add(new Option(i,i));

}

}

function selectLogo(){

var logo=document.getElementById("logo");

var logoImg=document.getElementById("logoImg");

var n=logo.value;

logoImg.src="image/headLogo/"+n+".gif";

}

var flag=true;

function checkInterest(){

var interest=document.getElementsByName("interest");

for(var i=0;i<interest.length;i++){

interest[i].checked=flag;

}

if(flag){

document.getElementById("btn1").value="全不选";

}else{

document.getElementById("btn1").value="全选";

}

flag=!flag;

}

function checkInterest1(){

var interest=document.getElementsByName("interest");

for(var i=0;i<interest.length;i++){

interest[i].checked=!interest[i].checked;

}

}


  • 同学是否忽略了这里要刷新页面呢?同学贴出的代码,刷新页面后,会恢复初始状态哦~助学习愉快~
    2019-09-16 16:48:53
好帮手慕柯南 2019-09-16 14:36:53

同学在jsp页面定义的全局变量,表现出的现象的确如此,因为刷新页面并没有将原来的数据销毁。所以全局变量并没有重新初始化。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

  • 提问者 精慕门618366 #1
    那在其他类型的页面呢?
    2019-09-16 15:51:10
  • 好帮手慕柯南 回复 提问者 精慕门618366 #2
    同学其它页面的全局变量,通常指js中的全局变量,刷新之后是会重新初始化的,jsp中的不会是因为jsp本质上是一个Servlet。刷新Servlet并不会销毁。因此不会重新初始化。如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
    2019-09-16 16:24:37
  • 提问者 精慕门618366 回复 好帮手慕柯南 #3
    老师,js中的全局变量不也会延续上一次的值?我记得以前讲的下拉列表的js中设置的一个全局的boolean类型的变量,它是延续上一次的值得啊
    2019-09-16 16:39:18
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
从网页搭建入门Java Web2018版
  • 参与学习           人
  • 提交作业       1088    份
  • 解答问题       10205    个

如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师