全屏
轮播图是new出来的。实际上就叫做组件开发。组件开发没别的,无非就是代码组织的一种方式。不学组件开发,页面也嗷嗷做,用函数风格, 也没啥问题,但是逼格不高。现在越来越流行把代码做成组件。
轮播图,与打气球、挡板球、贪吃蛇比,太简单了!
杂碎知识点:
● 写在prototype里面的函数,对象的实例是可以调用的。但是一些函数是内部函数,我们只希望函数自己调用自己。不希望实例来调用,习惯上写_开头命名。但是_不能阻止外部实例调用,没事儿,这就是一个约定。
Slider.prototype._findMyElemsByClassName = function(className){
}
加上_的函数,说白了不向外暴露这个API。
● I’m so sorry,之前讲正则表达式没有说构造函数法和字面量法的区别。
字面量法,必须是正则表达式的字面量,用/ /来界定。里面不能有变量,不能有斩断链接。
但是,new RegExp()构造函数的语法:var reg = new RegExp(正则字符串,描述符字符串);
比如:var reg = new RegExp("^1[\d]{10}$","g");
好处就是可以用字符串的斩断链接,来拼接字符串,使用变量:var a = "kaola";
var reg = new RegExp("^" + a + "{1,2}$" , "g");
reg.test("woaikaolahahaha")
●组件开发有一个天大的好处,就是不用依赖任何的框架。我们不需要使用jQuery,也不需要使用运动框架。
运动框架的哲学是什么?就是把任何的运动都封装:animate(oDiv,{"top":700,"left":700},100);
但是组件开发有一个思路,就是自己只管自己,不需要更多的复用。你想想看,传统轮播图中,能够运动的业务,就是left值。只涉及left值的改变,不涉及其他属性的改变,那为什么还要使用万能的运动框架呢?
组件的哲学和通用轮子不一样。通用轮子,要把所有浏览器、所有属性都要封装进来,注重复用、易用。组件开发只针对特定功能!!
● 当一个变量内部是一个setInterval、setTimeout的时候,那么这个变量被console.log输出的时候,变量的值是1。当定时器积累的时候,实际上值会变。不管怎么样,值正数。
这是一种非常简单的函数截流:if(this.timer){return;}
分享到:
0评论