Welcome 微信登录

首页 / 脚本样式 / JavaScript

Adapter适配器模式在JavaScript设计模式编程中的运用分析

Adapter适配器模式在JavaScript设计模式编程中的运用分析

定义适配器模式(Adapter)是将一个类(对象)的接口(方法或属性)转化成客户希望的另外一个接口(方法或属性),适配器模式使得原本由于接口不兼容而不能一起工作的那些类(对象)可以一些工作。速成包装器(wrapper)。适配器的别名是包装器(wrapper),这是一个相对简单的模式。在程序开发中有许多这样的场景:当我们试图调用模块或者对象的某个接口时,却发现这个接口的格式并不符合目前的需求。这时候有两种解决办法,第一种是修改原来的接口实现,但如果原来的模块...
实现JavaScript的组成----BOM和DOM详解

实现JavaScript的组成----BOM和DOM详解

我们知道,一个完整的JavaScript的实现,需要由三部分组成:ECMAScript(核心),BOM(浏览器对象模型),DOM(文档对象模型)。今天主要学习BOM和DOM。BOM:BOM提供了很多对象,用来访问浏览器的功能,这些功能于网页内容无关(这些是DOM的事),目前,BOM已经被W3C搬入了HTML5规范中。window对象:BOM的core,表示浏览器的一个实例,它既是通过javascript访问浏览器窗口的一个接口,又是ECMAScript规定...
JavaScript 基础函数_深入剖析变量和作用域

JavaScript 基础函数_深入剖析变量和作用域

函数定义和调用定义函数,在JavaScript中,定义函数的方式如下:function abs(x){ if(x >=0){ return x;}else{ return -x;}}上述abs() 函数的定义如下:function 指出这是一个函数定义;abs 是函数的名称;(x) 括号内列出函数的参数,多个参数以,分隔;{...}之间的代码是函数体,可以包含若干语句,甚至可以没有任何语句。注意:函数体内部的语句在执行时,一旦执行到return 时,...
Avalon中文长字符截取、关键字符隐藏、自定义过滤器

Avalon中文长字符截取、关键字符隐藏、自定义过滤器

关于AvalonJSavalon是一个简单易用迷你的MVVM框架,它最早发布于2012.09.15,为解决同一业务逻辑存在各种视图呈现而开发出来的。 事实上,这问题其实也可以简单地利用一般的前端模板加jQuery 事件委托 搞定,但随着业务的膨胀, 代码就充满了各种选择器与事件回调,难以维护。因此彻底的将业务与逻辑分离,就只能求助于架构。 最初想到的是MVC,尝试过backbone,但代码不降反升,很偶尔的机会,碰上微软的WPF, 优雅的MVVM架构立即吸...
Node.js返回JSONP详解

Node.js返回JSONP详解

在使用JQuery的Ajax从服务器请求数据或者向服务器发送数据时常常会遇到跨域无法请求的错误,常用的解决办法就是在Ajax中使用JSONP。基于安全性考虑,浏览器会存在同源策略,然而<script/>标签却具有跨域访问数据的能力,这就是JSONP工作的基本原理。有关同源策略以及什么是JSONP。在Node.js中实现JSONP非常简单,通过下面的代码我们从服务器返回并运行一个JavaScript函数,这个JavaScript函数已经在调用方提...
深入理解JavaScript中的浮点数

深入理解JavaScript中的浮点数

js只有一种数值型数据类型,不管是整数还是浮点数,js都把归为数字。typeof 17; // “number”typeof 98.6; // “number”typeof –2.1; // “number”js中的所有数字都是双精度浮点数。是由IEEE754标准制定的64位编码数字(这个是什么东东,不知道,回头查一下吧)那么js是如何表达整数的,双精度浮点数可以完美地表示高达53位精度的整数(没有什么概念,没处理过多大的数据,没用完过!),从-90071...
深入理解JavaScript中的对象复制(Object Clone)

深入理解JavaScript中的对象复制(Object Clone)

JavaScript中并没有直接提供对象复制(Object Clone)的方法。因此下面的代码中改变对象b的时候,也就改变了对象a。a = {k1:1, k2:2, k3:3};b = a;b.k2 = 4;如果只想改变b而保持a不变,就需要对对象a进行复制。用jQuery进行对象复制在可以使用jQuery的情况下,jQuery自带的extend方法可以用来实现对象的复制。a = {k1:1, k2:2, k3:3};b = {};$.extend(b,a...
如何判断Javascript对象是否存在的简单实例

如何判断Javascript对象是否存在的简单实例

Javascript语言的设计不够严谨,很多地方一不小心就会出错。举例来说,请考虑以下情况。现在,我们要判断一个全局对象myObj是否存在,如果不存在,就对它进行声明。用自然语言描述的算法如下:if (myObj不存在){ 声明myObj; }你可能会觉得,写出这段代码很容易。但是实际上,它涉及的语法问题,远比我们想象的复杂。Juriy Zaytsev指出,判断一个Javascript对象是否存在,有超过50种写法。只有对Javascript语言的...
JS+Canvas 实现下雨下雪效果

JS+Canvas 实现下雨下雪效果

最近做了一个项目,其中有需求要实现下雨小雪的动画特效,所以在此做了个drop组件,来展现这种canvas常见的下落物体效果。在没给大家介绍正文之前,先给大家展示下效果图:展示效果图:下雨 下雪 看起来效果还是不错的,相对于使用创建dom元素来制作多物体位移动画, 使用canvas会更加容易快捷,以及性能会更好调用代码<!DOCTYPE html><html lang="en"><head><meta charset...
Node.js刷新session过期时间的实现方法推荐

Node.js刷新session过期时间的实现方法推荐

在Node.js中,我们通常使用express-session这个包来使用和管理session,保存服务端和客户端浏览器之间的会话状态。那如何才能实现当用户刷新当前页面或者点击页面上的按钮时重新刷新session的过期时间呢?类似于ASP.NET中session会话状态,只要在一定的时间内页面一直保持活动状态,session就不会过期。通过下面的代码可以实现这个功能,我们在Node.js的代码中加入下面的中间件:// use this middleware...
<< 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 >>