摘要:1. 禁用右键菜单document.oncontextmenu = function(){ return false;};2. 禁用文字选择document.onselectstart = function(){ return false;};3. 通过ID获取DOM对象var div = document . getElementById("myDiv");div.innerHtml="myDiv...ID...";4. 处理DOM对象事件(0)DOM对象分为两个类型:捕获事件和冒泡事件.假如html如下:<body><div id
阅读全文
摘要:责任链模式A.定义:使多个对象都有机会处理请求,避免了请求发送者和接收者之间的耦合关系。将对象组成一个链,并连着这个链传递该请求,直到有一个对象处理该请求。B.定义分析:"使多个对象都有机会处理请求,避免了请求发送者和接收者之间的耦合关系。将对象组成一个链,并连着这个链传递该请求,直到有一个对象处理该请求。"多个对象都有一致的请求处理接口,(请求可以理解为调用,并传参),让每个对象都有处理请求的机会。"使多个对象都有机会处理请求,避免了请求发送者和接收者之间的耦合关系。将对象组成一个链,并连着这个链传递该请求,直到有一个对象处理该请求。"这样,请求的发送
阅读全文
摘要:访问者模式A.定义:表示一个作用于某对象结构中各元素的操作。它使你可以在不改变对象类的前提下定义作用于这些元素的新操作。B.定义分析:"表示一个作用于某对象结构中各元素的操作。它使你可以在不改变对象类的前提下定义作用于这些元素的新操作。" 对象结构,即一个对象,这个对象中包含了一些数据,对应这些数据会有一些操作接口,get、set之类的。"表示一个作用于某对象结构中各元素的操作。它使你可以在不改变对象类的前提下定义作用于这些元素的新操作。" 原本这些操作应该聚合到类中的,但是某种情况下(当你觉得不适当或者不舒服的时候),需要把这些操作接口提到外部类,这就
阅读全文
摘要:叠代器模式A.定义:提供一种方法顺序访问一个聚合对象中的各个元素,又不暴露其内部表示。B.定义分析:"提供一种方法顺序访问一个聚合对象中的各个元素,又不暴露其内部表示。"叠代器模式提供了一个访问聚合对象中各个元素的方法,这个方法不会暴露该对象的内部表示。C.文体:(1)这种方法是什么?把遍历接口独立到叠代器对象中,而不是聚合在对象中。
阅读全文
摘要:中介者模式A.定义:用一个中介对象封装一些列对象的交互,中介者模式使各对象不需要显示的相互引用,从而使耦合松散,而且可以独立地改变他们之间的交互。B.定义分析:"用一个中介对象封装一些列对象的交互,中介者模式使各对象不需要显示的相互引用,从而使耦合松散,而且可以独立地改变他们之间的交互。" 面向对象系统的优点之一是只要保证对象的接口稳定,就一定程度上保证了系统的稳定。但是对象间显示交互使整个面向对象系统不能被复用,系统变的不灵活。可以用一个中介对象封装这些显示交互。"用一个中介对象封装一些列对象的交互,中介者模式使各对象不需要显示的相互引用,从而使耦合松散,而且可
阅读全文
摘要:备忘录模式A.定义:在不破坏封装性的前提下,捕获一个对象内部状态,并在对象外部保存下来,这样以后就可将对象恢复到以前保存的状态。B.定义分析:"在不破坏封装性的前提下,捕获一个对象内部状态,并在对象外部保存下来,这样以后就可将对象恢复到以前保存的状态。" 封装性指的是对象不应该向外界暴露的接口和数据就不要向外界公开。"在不破坏封装性的前提下,捕获一个对象内部状态,并在对象外部保存下来,这样以后就可将对象恢复到以前保存的状态。"获取一个对象的内部状态,在外部保存下来。"在不破坏封装性的前提下,捕获一个对象内部状态,并在对象外部保存下来,这样以后就
阅读全文
摘要:命令模式A.定义:将一个请求封装成对象,这样可以用不同的请求对客户进行参数化。对请求排队、记录请求日志,或支持可撤销的操作。B.定义分析:"将一个请求封装成对象,这样可以用不同的请求对客户进行参数化。对请求排队、记录请求日志,或支持可撤销的操作。" 请求可以理解为调用。把调用封装在一个对象里。为什么要把请求封装在对象里呢?假设有个我们设计GUI,有个Menu和Button,设计GUI toolkit的时候,是没有办法知道Menu动作要处理哪些事情的,我们之后留出这样的机制:固定调用一个对象的action接口,或者调用回调函数(面向过程).如果是面向对象情况下,就固定调用对象
阅读全文
摘要:解释器模式A.定义:给定一个语言,定义其文法的一种表示;定义一个解释器,使用该表示解释语言中的句子.B.定义分析:"给定一个语言,定义其文法的一种表示;定义一个解释器,使用该表示解释语言中的句子."有范式表示一个语言(编译器相关知识了解即可)."给定一个语言,定义其文法的一种表示;定义一个解释器,使用该表示解释语言中的句子."定义一个解释器,利用上边的范式,解释语言中的句子。C.问题:(1)使用动机?因为设计模式,其实给定的是一个解决思路。解释器模式要解决的问题是:特定类型的问题发生频率足够高,可能把该问题的各个实例表述为简单语言中的句子,这样就可以构建
阅读全文