-
设计模式就是指经验的总结,利用总结来解决现在存在的问题查看全部
-
js中每个函数都有两个非继承而来的方法:apply()和call(), 两个方法都接收两个参数, 其中第一个参数都是函数的作用域(用来改变(扩充)原函数的作用域), 使原函数中的this指向新的作用域中的变量对象; 第二个参数的唯一区别是, apply方法传入参数数组, call方法直接传递每个参数。所以, 对此作出的解释大概为(见解不够深刻, 可能会有小问题欢迎指出): 原来self.opts中select函数中的this是指向函数的调用者(this一般指向函数调用者), 也就是self即LightEntire的实例化对象, 所以控制台输出了这个对象, 后因为使用了call方法, 传入了this作为第一个参数, 注意这里的this是指向每个".rating-item"也就每个星星, 然后select函数中this的指向发生了变化, 重新指向了".rating-item"。 $(".rating-item").on("mouseover", function(){ console.log(this); // 这里相当于新的函数作用域, this指向$(".rating-item") }); ——概念请参考《JavaScript高级程序设计》-第三版第四章和第五章5.5.5查看全部
-
this一般指向函数的调用者, 不能在绑定事件的回调函数中直接使用this, 因为这里面的this是指向函数的调用者this.$el的而不是指向LightEntire的实例化对象。因为我们想要的是LightEntire的实例化对象来调用lightOn方法, 所以要在绑定事件的回调函数之外(当this指向LightEntire的实例化对象的时候)保存一下this(赋值给self变量), 然后在回调函数中使用查看全部
-
html结构查看全部
-
课程概要查看全部
-
设计模式查看全部
-
封装插件查看全部
-
模板方法。 只需要继承实现。 抽象父类,具体实现的子类。 prototype 原型。console控制台。 分离出共同点。分离出来抽象父类。统一修改按住控制+D. 通过原型链访问的。强制子类要重写。 可以在父类方法中抛出错误。如果没有重写,就会是父类的错误。 钩子方法。查看全部
-
* 代码中的问题: * 1.含有过多的全局变量num,$rating,$item等,多人共同开发时容易造成变量同名从而被覆盖产生bug(模拟命名空间或者用闭包解决) * 2.事件绑定的写法为每颗星星都绑定了事件,当星星数过多时造成浪费 (事件委托(事件代理):根据冒泡的特性,在父容器上绑定一次事件即可,通过判断在父元素中判断是不是相应的子元素触发了相应的事件) * 3.不能实现代码复用,多个评分要通过复制代码修改后使用。查看全部
-
笔记 小定时器 setTime(function(){ alert("adw"); $(".header").show(); },1000);查看全部
-
星级评论-html结构查看全部
-
设计模式查看全部
-
标签闭合规则: 设置->用户设置 "syntaxProfiles":{ "html":"xhtml" } 代码片段 tabTrigger:快捷键 scope:允许使用文件类型 保存文件名:以【.sublime-snippet】查看全部
-
将方法写在构造函数的原型上用prototype 再添加一个调用它的方法init,同样用prototype给添加上去 Coffee.prototype.init = function(){ this.boilWater(); this.addWater(); ... }; 最后调用它: var coffee = new Coffee(); coffee.init();查看全部
-
设计模式的阶段查看全部
举报
0/150
提交
取消