1、原型链 1function Supertype () {2this.property = true 3}4 5 Supertype.prototype.getSuperValue = function () {6returnthis.property7}8 9function SubType () { 10this.subproperty = false11} 1213// 继承了SuperType14 SubType.prototype = new Supertype() 1516 SubType.prototype.getSubValue = function () { 17returnthis.subproperty 18} 1920var instance = new SubType() 21 console.log(instance.getSuperValue(...
享元模式不同于一般的设计模式,它主要用来优化程序的性能,它最适合解决大量类似的对象而产生的性能问题。享元模式通过分析应用程序的对象,将其解析为内在数据和外在数据,减少对象的数量,从而提高应用程序的性能。 基本知识 享元模式通过共享大量的细粒度的对象,减少对象的数量,从而减少对象的内存,提高应用程序的性能。其基本思想就是分解现有类似对象的组成,将其展开为可以共享的内在数据和不可共享的外在数据,我们称内...
一、使用全局变量保存单例 这是最简单的实现方法 function Person(){ this.createTime=new Date(); } var instance=new Person(); function getInstance(){ return instance; } 加载该js时就创建一个Person对象,保存到instance全局变量中,每次使用都取这个对象。如果一次都没使用,那么创建的这个对象则浪费了,我们可以优化一下, var instance function getInstance(){ if(!instance){ instance=new Person(); } return in...
适配器模式的作用是解决两个软件实体间的接口不兼容的问题,在JavaScript尤其是AJAX方面比较常用,接下来看一下对Adapter适配器模式在JavaScript设计模式编程中的运用分析定义适配器模式(Adapter)是将一个类(对象)的接口(方法或属性)转化成客户希望的另外一个接口(方法或属性),适配器模式使得原本由于接口不兼容而不能一起工作的那些类(对象)可以一些工作。速成包装器(wrapper)。适配器的别名是包装器(wrapper),这是...
关于浏览器缓存 浏览器缓存,有时候我们需要他,因为他可以提高网站性能和浏览器速度,提高网站性能。但是有时候我们又不得不清除缓存,因为缓存可能误事,出现一些错误的数据。像股票类网站实时更新等,这样的网站是不要缓存的,像有的网站很少更新,有缓存还是比较好的。今天主要介绍清除缓存的几种方法。 清理网站缓存的几种方法 meta方法 //不缓存 <META HTTP-EQUIV="pragma" CONTENT="no-cache"> <META HTTP-EQUIV="Cache-Co...
在客户端有一个HTML文件,用来提交输入信息,问题在于:每次按刷新时,发觉并不是整个页面重新被装载,好似是缓存中。 因为文本框中仍出现上次输入的值,只有在地址栏中按回车整个页面才重新装载,应当怎样避免此问题? 1,在html里head区添加代码: <meta http-equiv="pragma" content="no-cache" /> <meta http-equiv="content-type" content="no-cache, must-revalidate" /> <meta http-equiv="expires" content="Wed, 26 Feb ...
之前开发了一个单页面应用,按照深度,分为三层:目录页、一级子页(标签页、故事页等)、二级子页(故事编辑页)。 这三类页面都共享一个完整的数据model,从上级页面进入下一级页面时,能够加载相应数据;回到上一级时,数据有更新。举个栗子,从故事页点击“编辑”按钮,进入故事编辑页则默认填充点击的“编辑”按钮所对应的故事数据;而当在故事编辑页更新数据,返回到故事页时,刚刚更新的信息也能在故事页展示。对于这项需求...
这次给大家带来nodejs日志模块winston使用方法总结,nodejs日志模块winston使用的注意事项有哪些,下面就是实战案例,一起来看一下。winston 日志模块在使用 nodejs winston 模块中,加上相关的两个模块,事倍功半。express-winstonwinston-daily-rotate-fileexpress-winston是 express-winston 的 winston 的增加版, 是作为 express 的中间件来打印日志,不仅有请求头信息,并且有响应时间。作为中间件, 为什么会有响应时间呢?...
1. #id : 根据给定的ID匹配一个元素<p id="myId">这是第一个p标签</p> <p id="not">这是第二个p标签</p> <script type="text/javascript"> $(function(){$("#myId").css("color","red");}); </script>结果:这是第一个p标签这是第二个p标签2. element : 根据给定的元素标签名匹配所有元素<p>这是p标签1</p> <p>这是p标签2</p> <p>这是p标签</p> <script type="text/javascript">$(function(){$("p").css("color","red");}); </scri...
面试某公司的时候,面试官问到,导致浏览器崩溃的原因有哪些?愚辈不才,仅回答出了内存泄漏。其实在网页在装载的过程中,常常由于种种原因使浏览器的反映变的很慢,或造成浏览器失去响应,甚至会导致机器无法进行其他的操作。 对于访客,如果登录您网站,浏览器就立刻崩溃,我想这对谁都是无法容忍的,对此总结了网站导致浏览器崩溃的原因: 1. 内存泄漏还是先谈下内存泄漏,网站由于内存泄漏的而照成崩溃有两种情况,服务器的崩溃...
本文实例讲述了JS前端知识点 运算符优先级,URL编码与解码,String,Math,arguments操作。分享给大家供大家参考,具体如下: Js 中的运算符优先级优先级依次降低()!、-、++、–*、/、%+、-<、<=、<、>===、!=、===、!==、&&||?:=、+=、-=、*=、/=、%=URL 编码和解码 encodeURIComponent()decodeURIComponent()encodeURI()decodeURI()escape()unescape()区别字符串操作常用API toString() 转换成字符串charAt(index) 获取索引位置字...
在实际应用中,我们经常会遇到这样的场景,当页面加载完成后去做一些事情:绑定事件、DOM操作某些结点等。原来比较常用的是window的onload 事件,而该事件的实际效果是:当页面解析/DOM树建立完成,并完成了诸如图片、脚本、样式表甚至是iframe中所有资源的下载后才触发的。这对于很多实际的应用而言有点太“迟”了,比较影响用户体验。为了解决这个问题,ff中便增加了一个DOMContentLoaded方法,与onload相比,该方法触发的时间更...
类似于thinkbox,lightbox等。用于以一种别致的模式对话框方式展示页面,图片或者其它内容。这是它的官网:http://orangoo.com/labs/GreyBox/ 我们先来看一下它的几个实例: (1) 打开网页:(2) 显示一组图片: 基本使用 (1) 进入官网,点击下载(2) 解压。(其中的 installation.html 对其使用进行了说明,很简单,一看就明白。我还是写一下步骤吧) (3) 将其中的 greybox 文件夹拷贝到 web 项目根目录下,注意:一定要放在 web 根目录...
在用javaScript编程的过程中,我们经常会遇到这样一个问题,就是需要检测一个数据或变量的类型,本篇文章主要介绍了在javaScript中检测数据类型的几种方式小结,有兴趣的可以了解一下。在用javaScript编程的过程中,我们经常会遇到这样一个问题,就是需要检测一个数据或变量的类型,那么在javaScript中给我们提供了哪些方法呢?网上流传的代码比比皆是,但是发现其中有些是有误的,索性我自己动手把每种方法用了一遍,今天我专门整...
一、为什么要使用require.js 首先一个页面如果在加载多个js文件的时候,浏览器会停止网页渲染,加载文件越多,网页失去响应的时间就会越长;其次,由于js文件之间存在依赖关系,因此必须严格保证加载顺序,当依赖关系很复杂的时候,代码的编写和维护都会变得困难。 require.js,就是为了解决这两个问题: 1. 实现js文件的异步加载,避免网页失去响应; 2. 管理模块之间的依赖性,便于代码的编写和维护。 二、require.js的加载 第...