随笔分类 -  JavaScript

摘要:使用JS记忆函数功能,能够有效提供代码的性能。 阅读全文
posted @ 2017-12-03 09:36 Tengri 阅读(365) 评论(0) 推荐(0)
摘要:最近在做权限功能的时候,采用的ztree实现的,但是产品要求最后一层的权限节点要横向显示。开始在网上找的解决方案是用css样式把最后一层的display设置为inline。在我本地电脑上看了下。效果不错。 但是,后来测试在用十年前的笔记本测这个功能的时候,发现特别的卡,导致浏览器都崩溃了。所以,性能 阅读全文
posted @ 2017-05-20 11:44 Tengri 阅读(4526) 评论(4) 推荐(4)
摘要:以前一直以为,在编写js代码的时候,如果在代码后面不添加分号,JavaScript会自动填补分号。最近看了权威指南,才突然发现一直理解有误,而且关于分号的使用,还有很多需要注意的地方。 1、分号的省略:如果两句代码用两行来书写,第一个分号是可以省略的。如果写在同一行,第一个分号则不能省掉。 2、Ja 阅读全文
posted @ 2016-04-18 15:21 Tengri 阅读(437) 评论(0) 推荐(0)
摘要:命令模式是一种组织型模式,主要用在把调用对象(用户界面、API和代理等)与实现操作的对象隔离开。也就是说 ,凡是两个对象间的互动方式需要更高的模块化程度时都可以用到这种模式。 命令模式的好处:1、提高程序的模块化程度和灵活性。(运用得当);2、实现取消和状态恢复等复杂的有用特性非常容易。 例子:菜单 阅读全文
posted @ 2016-04-04 21:20 Tengri 阅读(227) 评论(0) 推荐(0)
摘要:享元模式实际上是一种优化模式,目的在于提高系统的性能和代码的效率。 使用享元模式的条件:最重要的条件是网页中必须使用了大量资源密集型对象,如果只会用到了少许这类对象,那么这种优化并不划算。第二个条件是这些对象中所保存的数据至少有一部分能被转换为外在的数据。最后一个条件是,将外在的数据分离出去以后,独 阅读全文
posted @ 2016-04-04 11:28 Tengri 阅读(210) 评论(0) 推荐(0)
摘要:说明:适配器模式表面上看起来像门面模式。它们都要对别的对象进行包装并改变其呈现的接口。但是两者的差别在于它们如何改变接口。门面元素展现的是一个简化的接口,它并不提供额外的选择,而且有时为了方便完成常见任务它还会做出一些假定。而适配器则要把一个接口转换为另外一个接口,它并不会滤除某些功能,也不会简化接 阅读全文
posted @ 2016-04-02 21:34 Tengri 阅读(250) 评论(0) 推荐(0)
摘要:适用场景:门面模式在DOM脚本编程这种需要对各种不一致的浏览器接口的环境中很常用。 例子:阻止模式事件 阅读全文
posted @ 2016-04-02 21:00 Tengri 阅读(188) 评论(0) 推荐(0)
摘要:组合模式是一种专为创建web上的动态用户界面而量身定制的模式。使用这种模式,可以用一条命令在多个对象上激发复杂的或递归的行为。这可以简化粘合性代码,使其更容易维护,而那些复杂行为则被委托给各个对象。 组合模式实例:图片库 1 /** 2 * 图片库 3 */ 4 var Composite = ne 阅读全文
posted @ 2016-04-02 19:22 Tengri 阅读(265) 评论(0) 推荐(0)
摘要:场景:如果代码中需要多次执行Ajax请求,那么明智的做法是把创建这种对象的代码提取到一个类中,并创建一个包装器来包装在实际请求时所要经历的一系列步骤。简单工厂非常适合这种场合。 说明:在首次执行时,它会依次尝试三种用于创建XHR对象的不同方法,一旦遇到一种管用的,他就会返回所创建的对象并将其自身改为 阅读全文
posted @ 2016-03-20 21:09 Tengri 阅读(313) 评论(0) 推荐(0)
摘要:场景:定义一个抽象类 AbsProducer(生产商),该生产商有两个行为,一个生产,一个出售,其中生产方法为抽象方法,由具体的厂家(工厂)去实现,出售的产品均是电子产品(返回的对象为电子产品对象,即对象都要实现电子产品的接口)。其中有联想和apple两个工厂,根据传入的参数生产旗下不同的电子产品。 阅读全文
posted @ 2016-03-20 20:58 Tengri 阅读(405) 评论(0) 推荐(0)
摘要:接口在工厂模式中起着很重要的作用,如果不对对象进行某种类型检查的以确保其实现了必要的方法,工厂模式的好处也就所剩无几了,举个简单的例子。 Interface.js 声明一个接口Bicycle,定义该接口应该有哪些方法 构造一个简单的工厂BicycleShop,根据传递的模型,卖出不同类型的自行车。 阅读全文
posted @ 2016-03-19 09:27 Tengri 阅读(291) 评论(0) 推荐(0)
摘要:场景:假设有一个Girl(美女)实体,该实体拥有姓名、年龄两个属性,拥有显示姓名和洗澡两个方法,下面分步骤构造该实体。 1、用简单基本单体模式:   问题:美女的名字和洗澡这么隐私的是不能随便被访问的吧,那就要用到(私用成员的单体)   问题:如果我很猥琐,在洗澡的方法前面加一个下横线,那不是偷窥成 阅读全文
posted @ 2016-03-14 22:15 Tengri 阅读(215) 评论(0) 推荐(0)
摘要:有一种重用代码的方法不需要用到严格的继承。如果想把一个函数用到多个类中,可以通过扩充的方式让这些类共享该函数。其实际做法大大体为:先创建一个包含各种通用方法的类,然后再用它扩充其他的类。这种方式就叫做掺元类。 阅读全文
posted @ 2016-03-13 15:35 Tengri 阅读(319) 评论(0) 推荐(0)
摘要:javascript继承分为两种:类式继承(原型链、extend函数)、原型式继承(对继承而来的成员的读和写的不对等性、clone函数)。  附上以类式继承实现的就地编辑demo,原型式方式实现和类式继承方式相差无几,不在此列举。   阅读全文
posted @ 2016-03-13 15:10 Tengri 阅读(206) 评论(0) 推荐(0)
摘要:开博第一天,套用别人的一句话,用来勉励自己:以大多数人努力程度之低,根本轮不到拼天赋! 阅读全文
posted @ 2016-03-13 14:14 Tengri