-
不带截图的笔记查看全部
-
关于constructor指向问题: 无论什么时候,只要创建了一个新函数,就会根据一组特定的规则为该函数创建一个prototype属性,默认情况下prototype属性会默认获得一个constructor(构造函数)属性,这个属性是一个指向prototype属性所在函数的指针,说的有些绕了,上代码: var superClass = function(){ this.num = 2; } superClass.prototype.show = function(){ console.log(this.name); } var F1 = function(){}; console.log(F1.prototype.constructor);//function (){} F1.prototype = new superClass(); console.log(F1.prototype.constructor);//function (){this.num = 2;}查看全部
-
F.prototype = superClass.prototype 和 F.prototype = new superClass();的区别: 前者F仅仅继承superClass的方法,而构造函数里的属性不会继承,后者则是把属性和prototype的方法也一并继承了, 代码验证: var superClass = function(){ this.num = 2; } superClass.prototype.show = function(){ console.log(this.name); } var F1 = function(){}; var F2 = function(){}; F1.prototype = new superClass(); F2.prototype = superClass.prototype; var f = new F1(); var f2 = new F2(); f.show();//2 f2.show();//undefined查看全部
-
设计模式的阶段查看全部
-
学习设计模式的不同阶段查看全部
-
将方法写在构造函数的原型上用prototype 再添加一个调用它的方法init,同样用prototype给添加上去 Coffee.prototype.init = function(){ this.boilWater(); this.addWater(); ... }; 最后调用它: var coffee = new Coffee(); coffee.init();查看全部
-
整理下js的思路: 写好主功能函数,就是点亮这个函数-->为元素一一绑定事件 为元素绑定事件有个小细节:mouseout事件绑定在ul这个父容器上,而不是li单个项目上。 完善: 全局变量重名或者冲突,解决方法:自我匿名函数,就是用一个闭包 不用为每个li都绑定事件,只需要为他们父容器绑定即可,利用事件的冒泡处理 $rating.on('mouseover','.rating-item',function(){}查看全部
-
整理下js的思路: 写好主功能函数,就是点亮这个函数-->为元素一一绑定事件 为元素绑定事件有个小细节:mouseout事件绑定在ul这个父容器上,而不是li单个项目上。 完善: 全局变量重名或者冲突,解决方法:自我匿名函数,就是用一个闭包 不用为每个li都绑定事件,只需要为他们父容器绑定即可,利用事件的冒泡处理 $rating.on('mouseover','.rating-item',function(){},子元素事件委托给父元素处理 为了实现功能复用,我们可以把它写成一个模块,可以用函数来实现,利用函数带参实现不同需求; 命名为init函数,怎么使用呢?就可以用return返回来使用,而return返回对象的话就可以这样使用:rating.init("#el",num) 这里有个小细节:功能函数例如lightOn因为只需要申明一次就可以把它放到init函数外面。查看全部
-
半颗星星的计算方法查看全部
-
var rating = (function() { var lightOn = function(item, num) { item.each(function(index) { if(index < num) { $(this).css("background-position", "0 -36px"); } else { $(this).css("background-position", "0 0"); } }) } var init = function(el, num) { var rating = $(el); var item = rating.find(".rating-item"); //初始化 lightOn(item, num); //事件委托 子元素事件(.rating-item)委托给父元素(rating)处理 rating.on("mouseover", ".rating-item", function() { lightOn(item, $(this).index() + 1); }).on("click", ".rating-item", function() { num = $(this).index() + 1; }).on("mouseout", function() { //事件绑定 lightOn(item, num); }) } //jQuery插件 $.fn.extend({ rating: function(num) { return this.each(function() { init(this, num); }) } }) return { init: init } })() //方法 //rating.init("#rating",2); //插件 $("#rating").rating(2);查看全部
-
$(this).css("background-position", "0 -36px"); $(this).animate({height:"300px"});查看全部
-
CSS样式放在头部,让浏览器先渲染样式 js行为放在body最后,防止找不到节点,同时不会阻塞页面 CSS和js都引入外部文件的形式,这样可以在客户端缓存。查看全部
-
星级评分查看全部
-
前端2查看全部
-
半颗星星的计算方法查看全部
举报
0/150
提交
取消