Welcome 微信登录

首页 / 脚本样式 / JavaScript

学习JavaScript设计模式之装饰者模式

学习JavaScript设计模式之装饰者模式

有时我们不希望某个类天生就非常庞大,一次性包含许多职责。那么我们就可以使用装饰着模式。 装饰着模式可以动态地给某个对象添加一些额外的职责,从而不影响这个类中派生的其他对象。 装饰着模式将一个对象嵌入另一个对象之中,实际上相当于这个对象被另一个对象包装起来,形成一条包装链。一、不改动原函数的情况下,给该函数添加些额外的功能1. 保存原引用window.onload = function() {console.log(1);};var _onload = wi...
jQuery中bind(),live(),delegate(),on()绑定事件方法实例详解

jQuery中bind(),live(),delegate(),on()绑定事件方法实例详解

本文实例分析了jQuery中bind(),live(),delegate(),on()绑定事件方法。分享给大家供大家参考,具体如下:前言因为项目中经常会有利用jquery操作dom元素的增删操作,所以会涉及到dom元素的绑定事件方式,简单的归纳一下bind,live,delegate,on的区别,以便以后查阅,也希望该文章日后能帮助到各位朋友,文中如有不当之处,还望各位指正,话不多说,直接进入正题。一、bind()简要描述bind()向匹配元素添加一个或多...
学习JavaScript设计模式之单例模式

学习JavaScript设计模式之单例模式

一、定义保证一个类仅有一个实例,并提供一个访问它的全局访问点。 当单击登陆按钮,页面中出现一个登陆浮窗,这个登陆浮窗是唯一的,无论单击多少次登陆按钮,这个浮窗都只会被创建一次,那么这个登陆浮窗就适合用单例模式来创建。二、实现原理要实现单例并不复杂,使用一个变量来标志当前是否已经为某个类创建过对象,如果是,则在下一次获取该类的实例时,直接返回之前创建的对象。三、假单例全局变量不是单例模式,但在JavaScript开发中,我们经常会把全局变量当成单例来使用。v...
详解JavaScript对象序列化

详解JavaScript对象序列化

一.什么是对象序列化? 对象序列化是指将对象的状态转换为字符串(来自我这菜鸟的理解,好像有些书上也是这么说的,浅显易懂!); 序列化(Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程(来自“百度百科—序列化“,学术性强,略显高端);二.为什么会有对象序列化? 世间万物,都有其存在的原因。为什么会有对象序列化呢?因为程序猿们需要它。既然是对象序列化,那我们就先从一个对象说起:var obj = {x:1, y:2}; 当...
jQuery unbind()方法实例详解

jQuery unbind()方法实例详解

本文实例讲述了jQuery unbind()方法使用方法。分享给大家供大家参考,具体如下:jQuery 中的 unbind() 方法是 bind() 方法的反向操作,从每一个匹配的元素中删除绑定的事件。语法结构:复制代码 代码如下:unbind([type][, data]);type是事件类型,data为将要移除的事件。具体说明如下:1、如果没有参数,则删除所有的绑定事件;2、如果提供了事件类型(type)作为参数,则只删除该类型的绑定事件;3、如果把在...
AngularJS模块学习之Anchor Scroll

AngularJS模块学习之Anchor Scroll

俗话说的好:好记性不如一个烂笔头,本文对angularjs模块学习笔记,首先我们从anchor scroll开始学习,具体内容请看下文:•$anchorScroll()用于跳转至定义ID;•$location对象的hash()方法会替换当前url作为hash键;•$anchorScroll()读取并跳转至ID处。下面简单的例子,这里是输出结果:源码 index.html--11行,标示了的跳转ID:<!DOCTYP...
理解JS绑定事件

理解JS绑定事件

本文为大家详细分析了JS绑定事件,供大家参考,具体内容如下绑定事件有兼容性问题,在IE早期版本中使用的是obj.attachEvent(),而其他浏览器使用的则是addEventListener()。这两个方法都有三个参数,分别为:事件类型,事件函数,最后一个是布尔值,true或者是false。true表示在事件捕获阶段执行,false表示在事件冒泡阶段执行。 由于IE只支持事件冒泡,所以同大多数情况下,都是将事件处理程序添加到事件流的冒泡阶段,即默认为”...
JS拖拽组件学习使用

JS拖拽组件学习使用

JS代码需要常写,不然容易生疏,最近虽然一直在看JS的原型,行为委托等知识点,但是动手写代码的量略有减少。本文与大家分享一个拖拽组件,供大家参考,具体内容如下首先,看一下拖拽的原理。 被拖拽元素位置的变化,left值的变化其实就是鼠标位置水平方向的变化值,e.clientX - 鼠标左键按下时e.clientX。 top值的变化其实就是鼠标位置竖直方向的变化值,e.clientY - 鼠标左键按下时e.clientY。 另外就是设置拖拽的范围,上下左右不得...
详解javascript实现自定义事件

详解javascript实现自定义事件

我们平时在操作dom时候经常会用到onclick,onmouseover等一系列浏览器特定行为的事件, 那么自定义事件,顾名思义,就是自己定义事件类型,自己定义事件处理函数,在合适的时候需要哪个事件类型,就去调用哪个处理程序1.js所支持的浏览器默认事件浏览器特定行为的事件,或者叫系统事件,js默认事件等等都行,大家知道我指的什么就行,下文我叫他js默认事件。 js默认事件的事件绑定,事件移出等一系列操作,相信大家都有用到过,如://DOM0级事件处理程序...
JS获取CSS样式(style/getComputedStyle/currentStyle)

JS获取CSS样式(style/getComputedStyle/currentStyle)

CSS的样式分为三类: 内嵌样式:是写在Tag里面的,内嵌样式只对所有的Tag有效。 内部样式:是写在HTML的里面的,内部样式只对所在的网页有效。 外部样式表:如果很多网页需要用到同样的样式(Styles),将样式(Styles)写在一个以.css为后缀的CSS文件里,然后在每个需要用到这 些样式(Styles)的网页里引用这个CSS文件。getComputedStyle是一个可以获取当前元素所有最终使用的CSS属性值。返回的是一个CSS样式对象([ob...
学习JavaScript设计模式之观察者模式

学习JavaScript设计模式之观察者模式

一、定义观察者模式(发布-订阅模式):其定义对象间一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知。 在JavaScript中,一般使用事件模型来替代传统的观察者模式。 好处: (1)可广泛应用于异步编程中,是一种替代传递回调函数的方案。 (2)可取代对象之间硬编码的通知机制,一个对象不用再显示地调用另外一个对象的某个接口。两对象轻松解耦。二、DOM事件–观察者模式典例需要监控用户点击document.body的动作,但是我...
js实现图片无缝滚动特效

js实现图片无缝滚动特效

首先,无缝滚动的第一个重点就是——动。关于怎么让页面的元素节点动起来,这就得学明白关于JavaScript中定时器的相关知识。 JS中的创建定时器的方法包括两种:setTimeout和setInterval。首先它们接收的参数相同:第一个参数是一个函数,用于定时器执行,第二个参数是一个数字,代表过多少毫秒之后定时器执行函数。它们的不同在于:setTimeout 是在经过指定的时间之后,只执行一次函数,而setInterval,则是每间隔指定时间,就执行函...
JQuery日历插件My97DatePicker日期范围限制

JQuery日历插件My97DatePicker日期范围限制

本文实例向大家介绍了JQuery日历插件My97DatePicker日期范围限制的方法,分享给大家供大家参考,具体内容如下```<input class="Wdate" id="d1" onclick="WdatePicker()" />下面重点说明日期范围限制:1)静态限制你可以给通过配置minDate(最小日期),maxDate(最大日期)为静态日期值,来限定日期的范围示例1.1:限制日期的范围是 2012-12-1到2012-12-20复...
JavaScript优化专题之Loading and Execution加载和运行

JavaScript优化专题之Loading and Execution加载和运行

JavaScript 在浏览器中的性能,可认为是开发者所要面对的最重要的可用性问题。此问题因JavaScript的阻塞特征而复杂,也就是说,当JavaScript 运行时其他的事情不能被浏览器处理。事实上,大多数浏览器使用单进程处理UI 更新和JavaScript 运行等多个任务,而同一时间只能有一个任务被执行。JavaScript运行了多长时间,那么在浏览器空闲下来响应用户输入之前的等待时间就有多长。从基本层面说,这意味着<script>标签...
详解Javascript模板引擎mustache.js

详解Javascript模板引擎mustache.js

本文总结它的使用方法和一些使用心得,内容不算很高深,纯粹是入门内容,看看即可。不过要是你还没有用过此类的javascript引擎库,那么本文还是值得你一读的,相信在你了解完它强大的功能和简单用法之后,一定会迫不及待地将之用于你的工作当中。1. 从一个简单真实的需求讲起目前公司做了一个统一的开发平台,后台封装了MVC的接口和数据增删改查的接口,前端我自己用bootstrap+手写各类组件的方式弄了一套开发框架;集成了CAS,在CAS的基础上,首先做了一套统一...
高性能JavaScript循环语句和条件语句

高性能JavaScript循环语句和条件语句

一、循环语句众所周知,常用的循环语句有for、while、do-while以及for-in,forEach。除了for-in和forEach性能略低外,平时我们对前三者的选择更多的是基于需求而非性能考虑,今天我们就对它们各自的性能做个测试,告诉我们最极端的情况下还能做哪些优化。首先我们来谈谈为何for-in和forEach会比其他的慢。for-in一般是用在对象属性名的遍历上的,由于每次迭代操作会同时搜索实例本身的属性以及原型链上的属性,所以效率肯定低下;...
<< 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 >>