题目的要求是将所有方法附加到obj1中,代码如下:
<script language="javascript" type="text/javascript" src="jquery-1.4.2.min.js"></script>
<script language="javascript" type="text/javascript">
        var obj1 = {};
        function attachLocalVariables(obj) {
            //代码实现处
        }
      (function($)
        {
            var testVar1 = 1;
            var testVar2 = 2; 
            var testVar3 = 3; 
            var testVar4 = 4; 
            var testVar5 = 5;
            function function1(){
                alert(testVar1);
            };
            function function2(){
                alert(testVar2);
            };
            function function3(){
                alert(testVar3);
            };
            function function4(){
                alert(testVar4);
            };
            function function5(){
                alert(testVar5);
            };
            //obj1为上面定义的变量,除了省略号这个方法内部的代码不允许进行修改
            //省略号表示此处可以为一个参数或多个参数,但不要超过30个字符
        attachLocalVariables(obj1,....);
    })(jQuery);
 //测试代码 
alert(obj1.testVar1);
alert(obj1.testVar2); 
alert(obj1.testVar3); 
alert(obj1.testVar4); 
alert(obj1.testVar5);
 
obj1.function1();
obj1.function2(); 
obj1.function3(); 
obj1.function4(); 
obj1.function5();
    </script>

解决方案 »

  1.   

    [转] 诸葛亮给儿子的一封信 [图片] 复制地址 日志地址:  请用Ctrl+C复制后贴给好友。
    分享 
    转载自 王亚飞 2010年03月29日 20:04 阅读(2) 评论(0) 分类:个人日记 权限: 公开 
    字体:大▼ 小 中 大 更多▼ 设置置顶 权限设置 推荐日志 转为私密日志 删除 编辑 
     
     
      路途客留学移民内参王亚飞:诸葛亮写给儿子的一封信,只用了短短八十六字,但是对于为学做人有精简而且具体的忠告。   
      
      一千八百多年前的智慧,在今天的科技时代,原来仍然有其参考价值。 
      年青时听人 说:「真正的智慧,可以超越时空,历久常新。」初时不知所以,现在觉得所言甚是。     让我们一起向诸葛亮老师学习十堂课,在变局中安身立命,在逆境中找到力量:     『诸葛亮给子书 』 
      夫君子之行,静以修身,俭以养德;非澹泊无以明志,非宁静无以致远。   
      夫学须静也,才须学也;非学无以广才,非志无以成学。   
      怠慢则不能励精,险躁则不能冶性。   
      年与时驰,意与岁去, 遂成枯落,多不接世。   
      悲守穷庐,将复何及!     第一课:宁静的力量   
      「静以修身」、「非宁静无以致远」、「学须静也」。 
      诸葛亮忠告孩子宁静才能够修养身心,静思反省。不能够静下来,则不可以有效的计划未来,而且学习的首要条件,就是有宁静的环境。 
      现代人大多数终日忙碌,你是否应在忙乱中静下来,反思人生方向?     第二课:节俭的力量   
      「俭以养德」。诸葛亮忠告孩子要节俭,以培养自己的德行。 
      审慎理财,量入为出,不但可以摆脱负债的困扰,更可以过着纪律的简朴生活,不会成为物质的奴隶。 
      在鼓励消费的文明社会,你有否想过节俭的好处呢?     第三课:计划的力量   
      「非澹泊无以明志」、「非宁静无以致远」。诸葛亮忠告孩子要计划人生,不要事事 讲求名利,才能够了解自己的  志向,要静下来,才能够细心计划将来。 
      面对未来,你有理想吗?你有使命感吗?你有自己的价值观吗?     第四课:学习的力量   
      「夫学须静也」、「才须学也」。诸葛亮忠告孩子宁静的环境对学习大有帮助,当然配合专注的平静心境,就更加事半功倍。 
      诸葛亮不是天才论的信徒,他相信才能是学习的结果。 
      你有否全心全力的学习?你是否相信努力才有成就?     第五课:增值的力量   
      「非学无以广才」、「非志无以成学」。 
      诸葛亮忠告孩子要增值先要立志,不愿意努力学习,就不能够增加自己的才干。 
      但学习的过程中,决心和毅力非常重要,因为缺乏了意志力,就会半途而废。 
      你有否想过,一鼓作气人多,坚持到底人少的道理?     第六课:速度的力量   
      「怠慢则不能励精」。诸葛亮忠告孩子凡事拖延就不能够快速的掌握要点。 
      电脑时代是速度的时代,样样事情讲求效率,想不到一千八百多年前的智慧,也一样不谋而合。 
      快人一步,不但理想达到,你有否想过,有更多时间去修正及改善?     第七课:性格的力量   
      「险躁则不能冶性」。诸葛亮忠告孩子太过急躁就不能够陶冶性情。 
      心理学家说: 「思想影响行为,行为影响习惯,习惯影响性格,性格影响命运。」 
      诸葛亮明白生命 中要作出种种平衡,要「励精」,也要「冶性」。你要提升自己性格的品质吗?     第八课:时间的力量   
      「年与时驰」、「意与岁去」。 
      诸葛亮忠告孩子时光飞逝,意志力又会随着时间消磨,「少壮不努力,老大徒伤悲」,「时间管理」是个现代人的观念,细心想一想, 时间不可以被管理,每天二十四小时,不多也不少,惟有管理自己,善用每分每秒。 请你想一想,你有蹉跎岁月吗?     第九课:想像的力量   
      「遂成枯落」、「多不接世」、「悲守穷庐」、「将复何及」。 
      诸葛亮忠告孩子时光 飞逝,当自己变得和世界脱节,才悲叹蹉跎岁月,也于事无补。 
      要懂得居安思危,才 能够临危不乱。想像力比知识更有力量。 
      你有没有从大处着想,小处着手,脚踏实地,规划是人生呢?     第十课:精简的力量   
      以上诸葛亮写给儿子的一封信,只用了短短八十六字,精简地传递了具体的讯息。 
      我 相信精简的表达源于清晰的思想,长篇大论的内容,容易令人生厌,精简沟通更有效果。你懂得言之有物地精简沟通吗?   标签 诸葛亮 给儿子 孩子 忠告 力量 | 编辑标签 标签 诸葛亮 给儿子 孩子 忠告 力量 
    发表 取消 
    字体:大▼ 小 中 大 更多▼ 设置置顶 权限设置 推荐日志 转为私密日志 删除 编辑 
    分享 复制地址 日志地址:  请用Ctrl+C复制后贴给好友。
      

  2.   

    写一个构造函数
    function attachLocalVariables() {
        this.testVar1 = 1;
        this.testVar2 = 2;
        this.testVar3 = 3;
        this.testVar4 = 4;
        this.testVar5 = 5;
        this.function1 = function() { alert(this.testVar1); },
          this.function2 = function() { alert(this.testVar2); },
          this.function3 = function() { alert(this.testVar3); },
          this.function4 = function() { alert(this.testVar4); },
          this.function5 = function() { alert(this.testVar5); }
    }
      

  3.   


    <script language="javascript" type="text/javascript" src="jquery-1.4.2.min.js"></script>
    <script language="javascript" type="text/javascript">
        var obj1 = {};
        function attachLocalVariables(obj) {
            //代码实现处
    var fun = arguments[1];
    var pro = "testVar1,testVar2,testVar3,testVar4,testVar5,function1,function2,function3,function4,function5".split(",");
    for(var i = 0; i <pro.length; i++){
    obj[pro[i]] = fun(pro[i]);
    }
        } 
    (function($) {
            var testVar1 = 1;
            var testVar2 = 2;
            var testVar3 = 3;
            var testVar4 = 4;
            var testVar5 = 5;
            function function1() {
                alert(testVar1);
            };
            function function2() {
                alert(testVar2);
            };
            function function3() {
                alert(testVar3);
            };
            function function4() {
                alert(testVar4);
            };
            function function5() {
                alert(testVar5);
            };
            //obj1为上面定义的变量,除了省略号这个方法内部的代码不允许进行修改
            //省略号表示此处可以为一个参数或多个参数,但不要超过30个字符
            attachLocalVariables(obj1, function(s){return eval(s)});
        })(jQuery);    //测试代码  
        alert(obj1.testVar1);
        alert(obj1.testVar2);
        alert(obj1.testVar3);
        alert(obj1.testVar4);
        alert(obj1.testVar5);

        obj1.function1();
        obj1.function2();
        obj1.function3();
        obj1.function4();
        obj1.function5();
    </script>
      

  4.   

    Free_Wind22解答的非常正确,但这段代码
    function(s){return eval(s)}
    var fun = arguments[1];
    不明白是什么意思,能否指点一下
      

  5.   

    因为那些变量和函数都是局部的,出了这个函数就访问不了,所以就写了个函数来做中转
    function(s){return eval(s)}
    在这个函数里可以访问到这些局部变量,再把它当参数传到 attachLocalVariables 里,
    这样就可以通过这个函数来访问testVar1这些变量和函数了。var fun = arguments[1]; 是获取第二个参数
    每个函数都有一个arguments对象来保存调用的实际传过来的参数,在函数声明时只写了一个obj,所以用这种方式来获取第二个参数, obj 也就相当于 arguments[0]