首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

jQuery

jquery需要转换为jquery对象 }) mouseover 事件在鼠标移动到选取的元素及其子元素上时触发 mouseenter 事件只在鼠标移动到选取的元素上时触发 以后如果有鼠标移入事件,请使用...mouseenter,不是mouseover 鼠标离开事件使用mouseleave,不是mouseout 案例-突出显示 案例-手风琴 淘宝服饰精品 index() $(‘li’).index(...那么, (1).如果子类的 成员变量的 成员变量 的类型及名称都相同,则用sTest访问时,访问到的是子类的成员变量;用pTest访问时,访问到的是父的成员变量; (2).如果子类的静态成员变量的静态成员变量的类型及名称都相同...;用pTest调用时,调用的是父的静态成员方法; (4).如果子类的成员方法重写了父的成员方法,则用sTest调用时,调用到的是子类的成员方法;用pTest调用时,调用的也是子类的成员方法; (5)....用sTest调用未覆盖的父成员方法时,该方法中如果使用到了被隐藏的变量或方法时,规则同上; jQuery background-color 和 backgroundColor 入口函数 $(document

1.1K20
您找到你想要的搜索结果了吗?
是的
没有找到

JavaScript设计模式-工厂模式

file 简单工厂模式,使用一个来生成实例,复杂工厂模式,使用子类来决定一个变量成员应该为哪个具体的的实例。...工厂,是核心,负责创建所有实例的内部逻辑,工厂可以直接被调用创建我们的产品实例,抽象产品类,简单工厂模式所创建的所有对象的父,负责描述所有实例所拥有的公共接口,具体产品类,为具体的实例对象。...file 第一,啥是简单工厂模式,简单工厂模式也可以叫静态工厂模式,实质是由一个工厂传入的参数来动态决定应该创建哪一个产品类的实例,是由一个具体的实例化交给一个静态工厂方法来执行,它不属于GOF的23...第四,工厂方法,客户端不知道它所需要的对象的,抽象工厂通过其子类来指定创建哪个对象。 第五,简单工厂的优点就是明确了各自的职责和权利,有利于整个软件体系结构的优化。...在博客平台里,未来的路还很长,也希望自己以后的文章大家能多多支持,多多批评指正,我们一起进步,一起走花路。

34720

JS魔法堂:那些困扰你的DOM集合类型

DOM集合又何止这些呢,下面我们就一起来探讨一下吧! 二、困扰你我的NodeListHTMLCollection               相同点:     1. 数组。...题外话:children属性仅获取nodeType为1的元素,childNodes会将所有子元素的包含进来;  5....三、同名不同性——IE下怪异的HTMLCollection                  假如大家看过《JS魔法堂:追忆那些原始的选择器》,应该会了解到在IE5678下,document.all会返回一个函数对象...其实IE这一传统一直延续到IE11,这就导致IE9、10、11下的HTMLCollectionW3C标准出现同名不同性质的问题了。   何为函数?...但IE11中的HTMLAllCollection还可以当作函数使用,具体请看本文的第三节。

2K90

TypeScript 常用知识总结

可选参数以及默认参数 JavaScript TypeScript 的区别 TypeScript 可以使用 JavaScript 中的所有代码和编码概念,TypeScript 是为了使 JavaScript...类型安全是一种在编码期间检测错误的功能,不是在编译项目时检测错误。这为开发团队创建了一个更高效的编码和调试过程。...name 属性出现了重名 继承使用关键字 extends,子类除了不能继承父的私有成员(方法和属性)和构造函数,其他的都可以继承。...接口 接口是一系列抽象方法的声明,是一些方法特征的集合,这些方法都应该是抽象的,需要由具体的去实现,然后第三方就可以通过这组抽象方法调用,让具体的执行具 体的方法。接口可单继承、多继承。...描述了所创建的对象共同的属性和方法。 TypeScript 支持面向对象的所有特性,比如 、接口等。

1.8K30

设计模式之六大基本原则

这里的“应该尽量”4个字说明OCP原则并不是说绝对不可以修改原始的,当有这种修改的需求时,应该尽早地重构,不是通过继承等方式添加新的实现,这会导致类型的膨胀以及历史遗留代码的冗余 里式替换原则 子类可以替换父出现在父能够出现的任何地方...优点: 代码重用,减少创建的成本,每个子类都拥有父的方法和属性; 子类基本相似,但又与父有所区别; 提高代码的可扩展性。...缺点: 继承是侵入性的,只要继承就必须拥有父所有属性和方法; 可能造成子类代码冗余、灵活性降低,因为子类必须拥有父的属性和方法 依赖倒置原则 高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象...你要依赖的是抽象的中国人,不是你是xx村的。 接口隔离原则 设计时采用多个特定客户有关的接口比采用一个通用的接口要好。...(例子:皇上召见大臣是通过太监) 总结 单一职责原则:一个只负责一个功能 开闭原则:对象**(**,模块,函数等等)对于扩展开放,对于修改关闭 里式替换原则:能够使用到父的地方都能够使用子类对象,

33410

「理论」jQuery选择器Sizzle原理分析(上)

不需要整个jQuery文件。...优化选择符:通过两个角度来优化,一是尽量缩小DOM根节点,缩小搜索的范围,另外是寻找备选种子集合,通过本地接口过滤出备选种子集合,不是去搜索所有的DOM节点 3....Div,然后对每个Div是不是warpper,找到以后再对比他的子节点,看看他是不是ad2,对于一个嵌套很深的DOM树来说,每个Div可能存在很多子节点,那么每次遍历子节点的过程将会非常耗时,这是因为父子的关系是一对多的关系...(2)按从右向左的思路,我们首先找到所有的DIV,然后看看这个DIV是不是ad2,如果是的话再往上一层父节点查看,是不是wrapper,因为每个节点只有一个父节点,那么这个查询过程瞬间讯速了很多,是不是...Tag:标签选择符 ATTR:属性标签 CHILD:包括(only|first|last|nth|nth-last)-(child|of-type)等等对子类的标签 PSEUDO:其他伪选择符 对这些类型进行正则匹配之后

1.1K10

读书「重构」

分解函数 当看到一个过长的函数或者一段需要注释才能让人理解用途的代码,把这段代码放到一个独立函数里面去 函数命名应该以「做什么」不是「怎么做」来命名。...移动函数 移动字段相似:如果一个 A 里的一个函数 B 对象有更多的交流:或者调用后者,或者被后者调用,考虑把 A 中的这个函数放到 B 里。但优先考虑移动字段。...分解 如果类的责任过于复杂,考虑分解这个,抽象出一个新。 一个方法是思考如果把这个函数或者变量去掉之后,是不是其他的函数或变量就没有意义了?...另一个方式是某些特性需要用一种方式子类化,另一些特性需要用另一种方式子类化,那就意味着这个需要分解。...switch case 的情况下,使用「多态」设计模式,将条件表达式的每一个分支放进一个子类内的函数实现,然后将原始函数声明为抽象函数

52320

独家 | Python中的SOLID原则(附链接)

它将找到所有从Operations继承的,并运行存在于所有子类中的函数“Operations”。...简单地说,如果子类重新定义了同样在父中出现的函数,用户不应该注意到任何差异,它只是基的一个替代品。 例如,如果您正在使用一个函数您的同事更改了基,那您不应该注意到任何差异。...LSP的一个结果是: 在子类中重新定义的新函数应该是有效的,并且可能在父使用相同的函数时被调用。 这不是我们所常见的情况,事实上,通常我们人类,用集合论的方法来思考。...4) 界面分离原则 (ISP “具有很多面向特定客户的界面会比只有一个的通用的界面要好” 在写的时候,我们一般都只考虑使用一个界面,所有的方法和属性都“暴露”出来了,因此,所有用户可以之交互的东西都属于这个...实际上,如果我们运行这段代码,我们会得到: 子类whale仍然可以调用方法“walk”,但它不应该这样做,我们必须避免它。 ISP建议的方法是创建更多面向特定用户的界面,不是一个通用的界面。

30930

JavaScript设计模式之工厂模式

工厂模式 简介 工厂模式定义一个用于创建对象的接口,这个接口由子类决定实例化哪一个。该模式使一个的实例化延迟到了子类子类可以重写接口方法以便创建的时候指定自己的对象类型(抽象工厂)。...去KFC点一个汉堡,服务员给你的是个汉堡,不是牛肉、面粉、佐料… // KFC的 class KFC { // 做汉堡 makeHbg () { // ...繁琐的工序 console.log...安全模式是为了解决错误使用造成的错误。...'show' of undefined 为了避免这类错误的发生,在构造函数开始时先判断当前对象this指代的是不是(Demo)。...} } } 定义的Car中有一个run方法,继承Car的子类都会拥有直接使用,需要重写。

36330

重构-改善既有代码的设计:对象之间移动特性的八种方法(五)

如果一个有太多行为,或如果一个另一个有太多合作形成高度耦合,就需要搬移函数。通过这种手段,可以使系统中的更简单,这些最终也将更干净利落的实现系统交付的工作。...浏览所有函数,从中找出这样的函数使用另一个对象的次数比使用自己所驻对象的次数还多。一旦移动了一些字段,就该做这样的检查。...这往往不是容易做出的决定。如果不能肯定是否应该移动一个函数,就继续观察其他函数。移动其他函数往往会让这项决定变得容易一些。有时候,即使你移动了其他函数,还是很难对眼下这个函数做出决定。...Hide Delegate 隐藏委托关系 客户通过一个委托在调用另一个对象。在服务上建立客户所需的所有函数,用以隐藏委托关系。 封装”即使不是对象的关键特征,也是关键特征之一。...所以你需要将这些函数组织在一起,放到一个恰当的地方去。要达到这个目的,2种标准对象技术—子类化(subclassing)和包装(wrapping)是显而易见的办法。

37520

重构-改善既有代码的设计:坏代码的味道,编写代码20多宗罪(三)

但是,重复代码所在的函数可能只应该属于某个,另一个只能调用它,抑或这个函数可能属于第三个另2个应该引用这第三个。...如果这个组件适合作为一个子类,就可以运用 Extract Subclass (提炼子类)。 有时并非在所有时刻都使用所有实例变量。...那么此时也许将这个对象分成2个会更好,这么一来每个对象就可以只因1种变化需要修改。针对某以外界变化的所有相应修改,都只应该发生在单一中,而这个新内的所有内容都应该反应此变化。...内幕交易 ​ 23、Refused Bequest(被拒绝的遗赠) 子类仅仅使用中的部分方法和属性。其他来自父的馈赠成为了累赘。 子类应该继承超函数和数据。...这样一来,超就只持有所有子类共享的东西。你常常会听到这样的建议:所有应该是抽象的。既然使用“传统说法”这个略带贬义的词,你就可以猜到,我们不建议你这么做,起码不建议你每次都这么做。

54320

【笔记】《重构: 改善既有代码的设计》

但是性能优化不要在重构的时候进行, 等到专门的优化时段再来利用留下的信息进行优化 1.4 运用多态取代与价格相关的条件逻辑 的数据应该只属于内部, 最, 对的数据操作应该内进行不是外 任何时候都应通过提供的取值和设值函数来调整内的变量...这种问题需要将所有需要修改的代码整合为一个集中修改, 如果眼下没有合适的那就创建一个 3.7 依恋情结 如果一个函数高度依赖多个的属性, 那么应该判断哪个被这个函数使用得最多, 然后将函数放到这个中...这也就是核心:总是将一起变化的东西放到一起, 保持变化只在一处发生 3.8 数据泥团 总是绑定在一起使用的数据应该拥有属于自己的对象, 判断方法就是删除这堆数据中某个, 看看这堆数据是不是一起失去了意义...然后让这两个一起使用中间来交互....新的必须要包含老的所有功能, 这种新称为本地扩展, 必须保证在任何使用的地方都可以用本地扩展替代 本地扩展的实现有包装(原是新的一个成员)和子类(原是新的基)两种, 通常子类比较好实现

1.5K20

面向对象五大设计原则

开放-封闭原则(The Open-Closed Principle,OCP)是说软件实体(、模块、函数等)应该可以扩展,但是不可修改。...面对需求,对程序的改动是通过增加新代码进行的,不是更改现有的代码。 依赖倒置原则(Dependence Inversion Principle)就是要依赖于抽象,不要依赖于具体。...通俗的说就是我们在客户端只依赖强类型的,比如说接口或者抽象,不应该把具体实现接口或者抽象的具体放到客户端。...简单的理解为一个软件实体如果使用的是一个父,那么一定适用于其子类,而且它察觉不出父对象和子类对象的区别。也就是说,软件里面,把父都替换成它的子类,程序的行为没有变化。...在进行设计的时候,我们尽量从抽象继承,不是从具体继承。如果从继承等级树来看,所有叶子节点应当是具体所有的树枝节点应当是抽象或者接口。

52220

浅谈一下编程思想(一)

对修改关闭(Closed for Modification):这意味着一旦一个软件实体(如)被创建并投入使用,就不应该对其进行修改。任何变化应该通过扩展来实现,不是直接修改原有代码。...3.LSP(里氏替换原则) 子类型必须完全实现基的接口:子类应该继承或实现基所有属性和方法,以确保能够无缝地替换基的实例。...子类型不应该删除基的属性或方法,也不应该引入不兼容的新属性或方法。 子类型可以扩展基的功能:虽然子类型必须保持对基的兼容性,但它们可以添加额外的功能或修改基的实现。...CCP的主要作用就是提示我们要将所有有可能会被一起修改的集中在一处。也就是说,如果两个紧密相关,不管是源代码层面还是抽象理念层面,永远都会一起被修改,那么它们就应该被归属为同一个组件。...依赖倒置:ADP 通常依赖倒置原则**(DIP)**一起使用。DIP 要求高级组件不应该依赖于低级组件,而是两者都应该依赖于抽象。ADP 可以帮助确保这种抽象关系不会导致循环依赖。

26710

php基础(一)

一、PHP部分 1.函数内部 static 和 global 关键字的作用 static 是静态变量,在局部函数中存在且只初始化一次,使用过后再次使用使用上次执行的结果; 作为计数,程序内部缓存,单例模式中都有用到...static 静态方法,是的成员方法,但不需要实例化可直接使用 $GLOBAL 在函数使用具有全局作用域的变量,如$GLOBAL['a'] 2.子类重写父的 protected 方法有什么限制?...用例子说明,以 Laravel 框架中的控制器作为说明 ①final修饰的方法不可被子类重写 ②PHP是否重写父方法只会根据方法名是否一致判断(5.3以后重写父方法参数个数必须一致) ③重写时访问级别只可以等于或者宽松于父...不可提升访问级别 3.PHP文件末尾是否应该加 ?...主要防止 include,require 引用文件,把文件末尾可能的回车和空格等字符引用进来,还有一些函数必须在没有任何输出之前调用,就会造成不是期望的结果。PHP文件的编码不包含BOM的UTF8.

2.1K20

【设计模式】我这样学习设计模式-工厂模式

函数内包含了所有对象的创建逻辑和判断逻辑的代码,,如果要增加或删除一个产品种类,就需要修改判断逻辑代码,不符合开放—封闭原则 所以,简单工厂只能作用于创建的对象数量较少,对象的创建逻辑不复杂时使用。...( selector, context ); }; 仿照jQuery实现一个简单工厂函数 //联合类型 interface jQuery { [index: number]: any; } class...jQuery { length: number; constructor(selector: string) { //获取dom元素 使用Array.from将数组转成数组...在工厂方法模式中,核心的工厂不再负责所有的产品的创建,而是将具体创建的工作交给工厂子类去做。 工厂方法模式的本意是将实际创建对象的工作推迟到子类中,这样核心就变成了抽象。...工厂方法模式的区别 工厂方法模式针对的是同一或同等级产品,抽象工厂模式针对的是多种类的产品设计 代码 //抽象可以继承抽象 abstract class Coffee {} //抽象产品 abstract

52630

狗屎一样的代码!快,重构我!

重构本来就不是一件应该特别拨出时间做的事情,重构应该随时随地的进行。...一个函数往往会用到几个的功能,那么它该置于何处?我们的原则是:判断哪个拥有最大被此函数使用的数据,然后就把这个函数和那些数据放在一起。 8、数据泥团 很多地方看到相同的三四项数据一起出现。...将旧函数变成一个单纯的委托函数,或者将旧函数完全移除。 如果一个有太多行为,或如果一个另一个有太多合作高度耦合,就需要搬移函数。...即使在这个中你也应该使用访问函数间接访问。 间接访问的好处是:子类可以通过复写一个函数改变获取数据的途径;它支持更灵活的数据管理方式,例如延迟初始化。...4、函数下移 超中的某个函数部分(而非全部)子类用到。 将函数移到相关的子类中。 5、字段下移 超中的某个字段只被部分(而非全部)子类用到。 将字段移到需要它的子类中。

73730

这代码写的太烂了!你以为我真想写“垃圾代码”吗?

重构本来就不是一件应该特别拨出时间做的事情,重构应该随时随地的进行。...一个函数往往会用到几个的功能,那么它该置于何处?我们的原则是:判断哪个拥有最大被此函数使用的数据,然后就把这个函数和那些数据放在一起。 8、数据泥团 很多地方看到相同的三四项数据一起出现。...将旧函数变成一个单纯的委托函数,或者将旧函数完全移除。 如果一个有太多行为,或如果一个另一个有太多合作高度耦合,就需要搬移函数。...即使在这个中你也应该使用访问函数间接访问。 间接访问的好处是:子类可以通过复写一个函数改变获取数据的途径;它支持更灵活的数据管理方式,例如延迟初始化。...4、函数下移 超中的某个函数部分(而非全部)子类用到。将函数移到相关的子类中。 5、字段下移 超中的某个字段只被部分(而非全部)子类用到。将字段移到需要它的子类中。

94730
领券