return this; return swipe;到底为啥

来源:2-3 页面切换部分的代码封装

znbzh

2016-02-16 22:39

我删掉return this还是可以照常运行,而删掉return swipe则不行,不懂啊。不是开始已经调用swipe函数了么?里面也自己创建了swipe对象,对这个对象加个scrollTo方法,而swipe.scrollTo不也调用了这个方法了么?通过传参这个方法应该就运行了啊。为啥要return、求解答谢谢

写回答 关注

5回答

  • 刘健lj
    2016-12-12 15:45:58
        //滑动对象
            var swipe={};
        
        //监控完成与移动
        swipe.scrollTo=function(x,speed){ //x轴移动、 时间
            //执行运动
            el.css({
                'transition-timing-function' : 'linear',
                'transition-duration' : speed + 'ms',
                'transform'  : 'translate3d(-' + x + 'px,0px,0px)'
           });
           console.log(this)    //Swipe(container)  Swipe 对象
           return this;       //方便链式调用 Swipe(container).scrollTo().scrollTo();
        }
        
        return swipe;

    return this 方便后续链式调用

  • qq_Z咸蛋超人_04074723
    2016-11-09 20:44:00

    因为这是一个闭包函数,调用Swipe(),为swipe添加属性scrollTo,里面的函数需要返回才能得到这个属性

  • danchaofanly
    2016-08-03 15:48:27

    我也不是很懂,应该就是返回swipe这个对象吧

  • 格拉墨
    2016-04-21 23:33:02

    var swipe = Swipe($("#content"));这语句执行后,构造函数Swipe返回一个对象swipe,也就是这句return swipe并赋值给var swipe,接着HTML页面才有了swipe.scrollTo这个对象方法。return this这句是swipe对象方法里的语句,因为HTML不需要对象方法的返回值,所以没用,删了也行

  • YK_XIAOMA
    2016-02-17 11:04:34
    var swipe = Swipe($("#content"));

    因为在index.html里用到了swipe的返回值。你把return swipe删了他就获得的不就是空了么。。。return this删掉不影响的原因是,在这里return this 可以直接写return也一样就是程序执行结束返回而已。

H5+JS+CSS3实现七夕言情

为七夕节准备的H5+JS+CSS3特效案例,由浅入深案例拆分讲解

211516 学习 · 562 问题

查看课程

相似问题