免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4014 | 回复: 4
打印 上一主题 下一主题

JS之间变量取值的问题。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-05-11 10:32 |只看该作者 |倒序浏览
我有一个JS文件。里面有两个方法。
首先JS文件有两个全局变量
var str_1 = "";
var str_2 = "";

然后有一个set方法

//接收两个参数
function set(str1,str2) {
   this.str_1 = str1;
   this.str_2 = str2;
}

//具体执行的方法
function get(){
  alert(str_1+"===="+str_2);
  
}

我首先执行的是set方法...再执行的是get方法!
为什么打印出来的是空值呢!

我刚学习JS...请高手多多执教!!

论坛徽章:
0
2 [报告]
发表于 2007-05-11 10:40 |只看该作者
完整代码 你用this干啥

论坛徽章:
0
3 [报告]
发表于 2007-05-11 10:49 |只看该作者
原帖由 tong0245 于 2007-5-11 10:40 发表
完整代码 你用this干啥

我完全不懂JS啊....刚开始学习~~


//双击事件,我JSP页面里的一个方法。需要把jwzrq,sq两个参数JS文件里!
function showInfo_2(bjxh,bjlx,bjrq,bjsj,fj,jwzrq,sq) {
setget(jwzrq,sq);
   .
   .
   .
}

JS文件里的方法
var jwzrq = "";
var sq = "";

//在初始化时候就调用的方法...需要jwzrq,sq两个变量的值....
function AutoGetOptionFindQueryResult(xmldoc){
  var infos = xmldoc.getElementsByTagName("infos").item(0);
  var objId = infos.getAttribute("ObjId");
  var secondObjId = infos.getAttribute("secondObjId");
  var nodes = infos.getElementsByTagName("info");
  var select = document.getElementById(objId);
  if(select != null){
    var l = select.length;
    for(l;l>0;l--){
      select.options[l] = null;
    }
  }
  if(secondObjId != ""){
          var select1 = document.getElementById(secondObjId);
          var l1 = select1.length;
          for(l1;l1>0;l1--){
            select1.options[l1] = null;
          }
  }
  for(var i=0;i<nodes.length;i++){
    var info = nodes.item(i);
    var dm = info.getAttribute("dm");
    var mc = info.getAttribute("mc");
    select.options[select.length] = new Option(mc,dm);
  }
  if(secondObjId == "f_jwzrq") {
    if(jwzrq != "" ) {
      setOpDef1("f_jwzrq",jwzrq);
    }
  }else if(secondObjId == "f_sq") {
    alert("sq="+sq);
          var data = document.getElementById("f_fj").value;
          if(sq != "") {
      setOpDef1("f_sq",sq);
    }
  }else {
    return;
  }
}

//我想写个类似持久层的东西...来保存我传过来的两个参数的值!
function setget(jwzrq,sq) {
   this.jwzrq = jwzrq;
   this.sq = sq;
   alert(jwzrq+"===="+sq);
}

论坛徽章:
0
4 [报告]
发表于 2007-05-11 11:27 |只看该作者
js 我也不精通 写基于对象代码的时候我也要翻书 太长了懒的看
JS文件里的方法
var jwzrq = "";
var sq = "";
这个是全局变量 别用this
js 在函数外部变量都是全局

论坛徽章:
0
5 [报告]
发表于 2007-05-11 16:03 |只看该作者
原帖由 tong0245 于 2007-5-11 11:27 发表
js 我也不精通 写基于对象代码的时候我也要翻书 太长了懒的看
JS文件里的方法
var jwzrq = "";
var sq = "";
这个是全局变量 别用this
js 在函数外部变量都是全局

那我直接往全局变量里复值....

然后再别的方法里取值....

取出来的居然是空的....

alert打印的都是空...郁闷一下!决定换个思路解决这个问题....
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP