Qcccccccccccc 2016-10-07 06:25 采纳率: 100%
浏览 964
已采纳

javascript函数代码模块化大量问题

 var inter2 = function(){
        (function(){
            var _a,_b;
            var root = this;
            var _ = {
                add:function(){
                    return _a + _b;
                },
                sub:function(){
                    return _a - _b;
                },
                set:function(a,b){
                    _a = a;
                    _b = b;
                }
            }
            root._ = _;
        }.call(this));
        _.set(10,4);
        console.log(_.add());   //14
    }
  1. 问题1:不理解这个下滑线的命名规范?
  2. 问题2:不明白root._ = _;,是指把这个对象赋给这个root对象的属性吗?,root不是私有的吗?这么做有什么意义..
  3. 问题3:call(this),这个一般不是用在继承上面吗,在这里用是什么意义.
  4. 问题4:外边怎么就能用_这个变量了呢..
  • 写回答

1条回答 默认 最新

  • Go 旅城通票 2016-10-07 06:48
    关注

    oo语言私有属性一般下划线开头。单独一个_没什么意义,就简写吧,和$一样
    root存储的实例化inter2后的实例对象,主要再this对象更改后可以使用root得到原来的this上下文,如某个类实例里面通过
    xxxDOM.onclick=function(){

    }

    注册时间是,处理函数里面this是dom对象,而不是类实例,通过存储this对象,然后通过变量名就可以使用实例对象,而不是通过this
    function xxx(){
    var me=this;
    xxxDOM.onclick=function(){
    //函数里面this是dom对象,me才是xxx的实例
    }
    }

    call用于改变执行函数的this执行,自己看这个:JavaScript apply与call的用法意义及区别

    不懂你怎么执行 var inter2,你的那个代码_.set要报错。。函数体外引用不到_

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥60 pb数据库修改或者求完整pb库存系统,需为pb自带数据库
  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路