JavaScript 键盘事件有以下3种keydown键盘按键按下(如果按着不放,会持续触发该事件),可以捕获组合键。keypress键盘非功能按键按下(在keydown之后触发,如果按着不放会持续触发该事件),只能捕获单个键。keyup键盘按键弹起,可以捕获组合键。全局事件对象eventevent.ctrlKey功能键”ctrl”键是否按下。event.altKey功能键”alt”键是否按下。event.shiftKey功能键”shift”键是否按下。event.keyCode键盘按键键码。event.char...
本文实例讲述了JavaScript编程设计模式之构造器模式。分享给大家供大家参考,具体如下: 经典的OOP语言中,构造器(也叫构造函数)是一个用于初始化对象的特殊方法。在JS中,因为一切皆对象,对象构造器经常被提起。 对象构造器用于建立制定类型(Class)的对象,可以接受参数用于初始化对象的属性和方法。 对象建立 在JS中,有三个常用的方法用于建立对象: //1, 推荐使用 var newObject = {}; //2, var newObject = Object.creat...
本文实例讲述了JavaScript设计模式之命令模式。分享给大家供大家参考,具体如下: 第一,命令模式: (1)用于消除调用者和接收者之间直接的耦合的模式,并且可以对(调用这个过程进行留痕操作) (2)真的不要乱用这个模式,以为他使你简单调用写法变得非常的复杂和有些难以理解。 (3)你的业务出现了 (回退操作)(重做操作)的需求的时候你就要考虑使用这个模式了。 命令的原理:一种情况为发出者直接作用于执行者,这样耦合度很高,...
本文实例讲述了JavaScript设计模式之责任链模式。分享给大家供大家参考,具体如下: 介绍 责任链模式(Chain of responsibility)是使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。 请求以后,从第一个对象开始,链中收到请求的对象要么亲自处理它,要么转发给链中的下一个候选者。提交请求的对象并不知道哪一个对象将会处理它—...
本文实例讲述了JavaScript设计模式之代理模式。分享给大家供大家参考,具体如下: 代理模式的定义,代理是一个对象(proxy)用它来控制目标对象的访问。为此他要是先与目标对象相同的接口,但是他不同于装饰者模式,它对目标对象不进行任何修改,它的目的在于延缓"复杂"对象的初始化时间。这样可以在用到这个目标对象的时候再初始化他(对于单例来讲更是重要)。 代理模式有两种分类: (1)普通代理 (2)惰性代理 具体看下面的例子 第...
本文实例讲述了JavaScript设计模式之构造器模式(生成器模式)定义与用法。分享给大家供大家参考,具体如下: 工厂模式虽然解决了重复实例化的问题,但无法识别对象类型。 可以采用构造函数(构造方法)可用来创建特定的对象,可以解决工厂模式无法识别对象实例的问题。也就是说,使用构造函数的方法 ,即解决了重复实例化的问题 ,又解决了对象识别的问题。 构造器模式与工厂模式的不同之处在于: ① 构造函数方法没有显示的创建对象...
本文实例讲述了JavaScript设计模式之单例模式原理与用法。分享给大家供大家参考,具体如下: 单例模式的定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 单例模式是一种常用的模式,有些对象只需要一个,如线程池、全局缓存、浏览器中的window对象等,这时候可以用到单例模式。 单例模式典型的应用场景:单击按钮时,页面中会出现一个登陆浮窗,而该登录浮窗是唯一的,无论单击多少次按钮,这个浮窗都会被创建一次,...
这次给大家带来Node.js+console输出日志文件实例分析,Node.js+console输出日志文件的注意事项有哪些,下面就是实战案例,一起来看一下。我们首先创建如下文件:// index.js let fs = require(fs); let options = {flags: a, // append模式encoding: utf8, // utf8编码 }; let stdout = fs.createWriteStream(./stdout.log, options); let stderr = fs.createWriteStream(./stderr.log, options); // 创建logger let logger =...
本文实例讲述了jQuery插件制作之参数用法。分享给大家供大家参考。具体分析如下: 1、无参数实现文字阴影效果jQuery.fn.shadow =function(){ return this.each(function(){ var $originalElement = jQuery(this); for(var i = 0;i 调用的例子: 代码如下:$("h1").shadow(); 2、简单的参数jQuery.fn.shadow =function(slices,opacity,zIndex){ return this.each(function(){ var $originalElement = jQuery(this); for(var i = 0;i ...
本文实例讲述了javascript带回调函数的异步脚本载入方法。分享给大家供大家参考。具体实现方法如下: var Loader = function () { } Loader.prototype = {require: function (scripts, callback) {this.loadCount = 0;this.totalRequired = scripts.length;this.callback = callback;for (var i = 0; i < scripts.length; i++) {this.writeScript(scripts[i]);}},loaded: function (evt) {this.loadCount++;if (this.loadCoun...
typeofECMAScript 有 5 种原始类型(primitive type),即 Undefined、Null、Boolean、Number 和 String。我们都知道可以使用typeof运算符求得一个变量的类型,但是对引用类型变量却只会返回object,也就是说typeof只能正确识别基本类型值变量。var a = "abc"; console.log(typeof a); // "string"var b = 123; console.log(typeof b); // "number"var c = true; console.log(typeof c); // "boolean"var d = null; console.log(ty...
本文实例分析了jQuery实现div拖拽效果。分享给大家供大家参考,具体如下:New Document /*模块拖拽*/ .drag{position:absolute;width:100px;height:100px;border:1px solid #ddd;background:#FBF2BD;text-align:center;padding:5px;top:100px;left:20px;cursor:move;}// 模块拖拽 $(function(){ var _move=false;//移动标记 var _x,_y;//鼠标离控件左上角的相对位置$(".drag").click(function(){//alert("click");//点击(松开后触...
大家看JavaScript脚本经常可以看到这样的代码: 〈a href="javascript:doTest2();void(0);"〉here〈/a〉 但这儿的void(0)究竟是何含义呢? JavaScript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。 void 操作符用法格式如下: 1. javascript:void (expression) 2. javascript:void expression expression 是一个要计算的 JavaScript 标准的表达式。表达式外侧的圆括号是可选的,但是写上去是一个好习惯。 你可以...
本文实例分析了JS实现字符串转日期并比较大小的方法。分享给大家供大家参考,具体如下: 方法1:function compareDate(DateOne, DateTwo) {var OneMonth = DateOne.substring(5, DateOne.lastIndexOf("-"));var OneDay = DateOne.substring(DateOne.length, DateOne.lastIndexOf("-") + 1);var OneYear = DateOne.substring(0, DateOne.indexOf("-"));var TwoMonth = DateTwo.substring(5, DateTwo.lastIndexOf("-"));var TwoDay =...
本文实例讲述了jQuery解析XML与传统JavaScript方法的差别。分享给大家供大家参考。具体分析如下: 1. 传统javascript方法:var xmlDoc = request.responseXML; try // Build Markers, if available {var markers = xmlDoc.getElementsByTagName("marker") ;for ( var i = 0; i 2. jQuery方法:$(request.responseXML).find("marker").each(function() {var marker = $(this);var point = {marker.attr("lat"),marker.attr("lng")};...