为了账号安全,请及时绑定邮箱和手机立即绑定

return this; return swipe;到底为啥

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

正在回答

5 回答

    //滑动对象
        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 方便后续链式调用

2 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
var swipe = Swipe($("#content"));

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

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

return this; return swipe;到底为啥

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号