znbzh
2016-02-16 22:39
我删掉return this还是可以照常运行,而删掉return swipe则不行,不懂啊。不是开始已经调用swipe函数了么?里面也自己创建了swipe对象,对这个对象加个scrollTo方法,而swipe.scrollTo不也调用了这个方法了么?通过传参这个方法应该就运行了啊。为啥要return、求解答谢谢
//滑动对象 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 方便后续链式调用
因为这是一个闭包函数,调用Swipe(),为swipe添加属性scrollTo,里面的函数需要返回才能得到这个属性
我也不是很懂,应该就是返回swipe这个对象吧
var swipe = Swipe($("#content"));这语句执行后,构造函数Swipe返回一个对象swipe,也就是这句return swipe并赋值给var swipe,接着HTML页面才有了swipe.scrollTo这个对象方法。return this这句是swipe对象方法里的语句,因为HTML不需要对象方法的返回值,所以没用,删了也行
var swipe = Swipe($("#content"));
因为在index.html里用到了swipe的返回值。你把return swipe删了他就获得的不就是空了么。。。return this删掉不影响的原因是,在这里return this 可以直接写return也一样就是程序执行结束返回而已。
H5+JS+CSS3实现七夕言情
211516 学习 · 562 问题
相似问题
回答 1
回答 2