随笔分类 -  javascript

摘要:一、什么是匿名函数?在Javascript定义一个函数一般有如下三种方式:函数关键字(function)语句:function fnMethodName(x){alert(x);}函数字面量(Function Literals):var fnMethodName = function(x){aler... 阅读全文
posted @ 2015-01-05 20:48 许志伟 阅读(375) 评论(0) 推荐(0)
摘要:最近参与了一个项目,我的同事在开发一个ActiveX对象,我帮他编写JS脚本来调用这个对象,其中碰到蛮多问题,最难的就是如何响应由ActiveX对象返回的对象事件。正好,现在一起总结一下。 首先,我来介绍一下COM组件,以便说明js如何响应COM组件方法:voidinit()//初始化对象Proje... 阅读全文
posted @ 2014-08-14 22:51 许志伟 阅读(889) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2014-04-14 14:09 许志伟 阅读(126) 评论(0) 推荐(0)
摘要:首先我们来说下事件流,IE和DOM事件流有所不同,IE只支持冒泡型事件,而标准DOM事件流同时支持冒泡型和捕获型。何为冒泡型事件?请看以下模拟代码:<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title></title><scripttype="text/javascript">functiondoclick(ele){alert(ele.nodeName);}</script></head><bodyoncli 阅读全文
posted @ 2012-07-15 18:43 许志伟 阅读(402) 评论(2) 推荐(0)
摘要:首先不推荐使用的写法,类似上一节的例子<div onclick="doclick(this);"> click me!</div>这种写法虽然在各种浏览器都可以执行,但是比较影响代码的结构使html代码跟脚本代码糅在一起,不变代码的阅读和修改。 现在来介绍下3种事件绑定和它们之间的优缺点。 1、传统型事件绑定,如下代码<htmlxmlns="http://www.w3.org/1999/xhtml"><head><title></title></head><body 阅读全文
posted @ 2012-07-15 18:42 许志伟 阅读(440) 评论(0) 推荐(0)
摘要:上一节分析了3种的事件绑定的优缺点,今天我们来写一个通用的能适合各种浏览器的事件绑定函数。这里我们不重新写了,综合网上各种比较好的通用事件绑定函数,我这里采用大师Dean Edwards事件绑定代码,请大家详细看下面的注释functionaddEvent(element,type,handler){//给函数分配唯一的标志IDif(!handler.$$guid)handler.$$guid=addEvent.guid++;//创建一个hashtable来保存各种事件的处理函数if(!element.events)element.events={};//创建一个hashtable来保存某个事件 阅读全文
posted @ 2012-07-15 18:42 许志伟 阅读(336) 评论(0) 推荐(0)
摘要:if (! +"\v1")判断是否为IE浏览器。疑惑了好久,为什么这句能判断IE浏览器。IE里不能把 "\v" 处理成垂直符,所以在IE里它就是表示"\v"这个字符串。所以"\v1"为字符串。前面的+号把后面的字符串转换成数字,由于"\v1"在IE里为字符串所以 +"\v1" 转换失败,其值为NaN所以 !+"\v1"的值为 true所以在IE里 if(!+"\v1") 阅读全文
posted @ 2012-06-10 19:09 许志伟 阅读(324) 评论(0) 推荐(0)
摘要:caller :functionName.caller 返回调用者。看看下面的函数,大家可以复制到VS中执行下[代码]大家会发现第一个alert会弹出调用caller函数的调用者handleCaller,而第二个alert由于没有在其他函数体内调用,所以caller为null,就执行了 alert("函数直接执行");callee: 返回正被执行的 Function 对象,也就是所指定的 Function 对象的正文.callee是arguments 的一个属性成员,它表示对函数对象本身的引用,这有利于匿名 函数的递归或者保证函数的封装性。 下面一段代码先说明callee的用法,实例代码摘自网 阅读全文
posted @ 2010-12-06 21:49 许志伟 阅读(785) 评论(0) 推荐(1)