javascript脚本执行一般都会有全局载体或者容器
所以
//解决办法2 
return window["Example"]; 
//2派生的 
return this["Example"]; 
可以解决问题第二个问题,在初始化的时候加入名称
比如Example.name = "Example",封装成构造函数,很多js组件都是这样做的

解决方案 »

  1.   

    不知道LZ的这个需求手在什么地方? 
    一般传入的是值或指针, LZ还要知道传递过来的变量名?! 
      

  2.   

    cuckoo1你好:
    首先解释一下需求的环境,我这个开发容器禁止数组类型的变量,所以在储存数据时str[]要拆成str1,str2,str3这分开赋值。我想设计一个循环来分别为形如str1,str2,str3,,,strn的变量赋值,就产生了题目中的问题。这是变态环境决定的变态要求:)
    转而说到这个环境,允许的变量类型,只包括基础类型(布尔,数值,字符,实体),而不包括扩展的类型(数组,函数),
    所以fosjos的封装构造函数的办法我这里用不上。
    但是非常感谢回复,请大家继续帮我想想,有办法我再加20分。
      

  3.   

    如果是这样,我建议LZ不用传递变量,而是用全局变量来代替. 如果是传递变量的话,变量的个数也是不定的,不但变量名要判断,变量个数也得做判断,照你所说,连变量类型也得做判断. 无为地增加了系统开消.
    LZ再考虑考虑.
      

  4.   

    现在用的就是全局变量
    具体给个例子:
    例如
    var info="字符串1字符串2字符串3";//需要为str1,str2,str3分别赋值
    //我们可以
    str1=截取第一段;
    str2=截取第二段;
    str3=截取第三段;
    //但是数量很多的话就需要:
    for(i++){
    str<i>=截取第i段;
    }
    //这样的循环
    //可是 str<i>=这句话怎么写才正确呢?这不就是我问的问题:传入字符串"str"+"1",传出变量的值str1。 
      

  5.   

    实体是指new Object()吗?js语法中object也可以添加属性比如obj["str1"] = "....";
    for(var i in obj)
      alert(i + ":" + obj[i]);
      

  6.   

    fosjos说的没错,但这个环境吧[]全部过滤了,很郁闷。
    anyway非常感谢二位。