JavaScript----这段js代码得节约你多少时间(转)
摘要:1.应用案例: 复制代码 代码如下:var Mouse = function () { // Look! no that = this! this.position = [0, 0]; if (document.addEventListener) { document.addEventListener('mousemove', ?); //this.move? } else if (document.attachEvent) { document.attachEvent("onmousemove", ?); //this.move?怎么放进去 } }; Mo
阅读全文
JavaScript----闭包意义谈
摘要:我觉得闭包是一种更自然的代码形式,可以让你不拘泥于简单的块、函数作用域而穿透作用域。 举2个例子,一个用于隐藏一些变量,另一个用于异步调用: 1、隐藏变量: Javascript代码 Function.prototype.bind=function(obj){ var_this=this; returnfunction(){ _this.apply(obj,arguments); }; }Function.prototype.bind = function(obj) { var _this = this; return function() { _this.apply...
阅读全文
JavaScript--------闭包 取for循环i 【转】
摘要:JavaScript闭包 取for循环i 【转】2011-10-10 10:20415人阅读评论(1)收藏举报有个网友问了个问题,如下的html,为什么每次输出都是5,而不是点击每个p,就alert出对应的1,2,3,4,5。[html]view plaincopyprint?<html><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title>闭包演示</title><scripttype=
阅读全文
JavaScript--------通过闭包解决只能取得包含函数中任何变量最后一个值的问题
摘要:<script type="text/javascript">function createArray() {var arr = new Array();for (var i = 0; i < 10; i++) {arr[i] = function () {return i;}}return arr;}var funcs = createArray();for (var i = 0; i < funcs.length; i++) {document.write(funcs[i]() + "<br />");}//以上输
阅读全文
JavaScript----闭包的作用谈(转)
摘要:note1|note2Javascript 闭包翻译:为之漫笔链接:http://www.cn-cuckoo.com/2007/08/01/understand-javascript-closures-72.html 简介 基于对象的属性名解析 值的指定 值的读取 标识符解析、执行环境和作用域链 执行环境 作用域链与 [[scope]] 标识符解析 闭包 自动垃圾收集 构成闭包 通过闭包可以做什么...
阅读全文
JavaScript-----作用域链
摘要:作用域链(Scope Chain)说明此文译自Dmitry A.Soshnikov 的文章Scope Chain另,此文还有另外一位同事(邵信衡)共同参译概要在第二章变量对象的时候,已经介绍过执行上下文的数据是以变量对象的属性的形式进行存储的。还介绍了,每次进入执行上下文的时候,就会创建变量对象,并且赋予其属性初始值,随后在执行代码阶段会对属性值进行更新。本文要与执行上下文密切相关的另外一个重要的概念——作用域链(Scope Chain)。定义若要简单扼要对作用域脸做个解释,那就是:作用域链和内部函数息息相关。众所周知,ECMAScript允许创建内部函数,甚至可以将这些内部函数作为父函数的返
阅读全文
JavaScript----闭包(转)
摘要:对于希望在javascript技术中提高的人群来说,闭包肯定时常是一个令人感觉神秘的技术。早先有人说javaScript中的闭包可能会引发javaScript内存管理的复杂度,也许会出现内存泄露,所以不建议用闭包。不过jQuery很好的证明了闭包非常好用,C#的Linq也证明的闭包技术的重要性,所以花一点点时间来理解下闭包还是很值得的,再说了,以下的内容不过就是一杯茶的时间而已。先给出一个闭包的定义:在计算机科学中,闭包(Closure)是词法闭包(Lexical Closure)的简称,是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。所以
阅读全文
JavaScript--------instanceof
摘要://alert(test.prototype); //alert(Object.prototype); //alert(Function.prototype); //alert(test.__proto__); //alert(Object.__proto__); //alert(Function.__proto__); //alert(Object.prototype.__proto__); //alert(Object.prototype.constructor); alert(Function.prototype.__proto__); alert(Function.p...
阅读全文
JavaScript--------constructor实现原理(转)
摘要:constructor是什么简单的理解,constructor指的就是对象的构造函数。请看如下示例:? 1 2 3 4 5 6 function Foo(){}; var foo = new Foo(); alert(foo.constructor);//Foo ...
阅读全文
JavaScript-------解密JavaScript原型链(转)
摘要:代码: 有一个制造class的工厂,它支持继承: var Class = function(parent) { // 因为class在JavaScript里是保留字,所以用klass代替 var klass = function() { this.init.apply(this, arguments); }; // 继承就是要改变这个Class的prototype变量 if (parent) { var subclass = function() {}; subclass.prototype = parent.prototype; klass.prototype = new subclass.
阅读全文
JavaScript--------很有意思的"alert"例子
摘要:1alert("-------------0--------------");2alert(Object.prototype);3alert("-------------1--------------");4Function.prototype.age="4444";5functionx(){};6alert(x.age);//print44447alert("-------------2--------------");8Object.prototype.name="5555";9varx=n
阅读全文
JavaScript------悟透javascript(转)
摘要:引子 编程世界里只存在两种基本元素,一个是数据,一个是代码。编程世界就是在数据和代码千丝万缕的纠缠中呈现出无限的生机和活力。数据天生就是文静的,总想保持自己固有的本色;而代码却天生活泼,总想改变这个世界。 你看,数据代码间的关系与物质能量间的关系有着惊人的相似。数据也是有惯性的,如果没有代码来施加外力,她总保持自己原来的状态。而代码就象能量,他存在的唯一目的,就是要努力改变数据原来的状态。在代码改变数据的同时,也会因为数据的抗拒而反过来影响或改变代码原有的趋势。甚至在某些情况下,数据可以转变为代码,而代码却又有可能被转变为数据,或许还存在一个类似E=MC2形式的数码转换方程呢。然而,就是在..
阅读全文
JavaScript-----用js实现输入提示(自动完成)[转载]
摘要:<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>autoComplete</title><metahttp-equiv="Content-Type"content=
阅读全文
(转)扩展方法详解
摘要:一、基础扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法是一种特殊的静态方法,调用扩展方法与调用在类型中实际定义的方法之间没有明显的差异。扩展方法是可以通过使用实例方法语法调用的静态方法。效果上,使得附加的方法扩展已存在类型和构造类型成为可能。他可以对现有类功能进行扩充,从而使该类型的实例具有更多的方法。扩展方法有助于把今天动态语言中流行的对快速录入支持的灵活性,与强类型语言之性能和编译时验证融合起来。这里先举一个msdn中的例子:下面的示例演示为 System.String 类定义的一个扩展方法。假设我要分析一个字符串,希望得到字符串
阅读全文
DataContractSerializer类的序列化反序列化规则
摘要:1:不使用特性(DataContract)的前提下 规则一:对象的公有字段和属性都会参与序列化成xml文件; 规则二:对象所在的名称空间会作为xml文件的命名空间; 规则三:xml文件的节点顺序按照英文字母排序(和对象的公有字段和属性顺序无关); 规则四:如果对象存在继承关系,那么xml文件节点顺序是优先取基类的成员; 规则五:xml文件反序列化成对象时按照xml文件节点的英文字母排序 规则六:如果对象存在继承关系,那么优先反序列化基类;上代码:View Code 1usingSystem;2usingSystem.Collections.Generic;3usingSystem.Linq;4
阅读全文
(转)C#中“Equals”与“==”的速度比较
摘要:最初接触C#时就一直疑惑,比较字符串的方法:“Equals”与“==”在比较时性能有什么区别呢?相信这个问题也曾困惑着许多人,那么我们就一起来探讨下:比较一个string是否等于一个值,最初接触C#的人会这么写:string myStr = "value"; if (myStr.Equals("value")) { } if (myStr == "value") { }然后,会有人笑你很菜,得知把要判断的value写在前面性能高些,要这样写:string myStr = "value"; if ("val
阅读全文
(转)C#中二进制运算在权限验证的应用
摘要:在我的另一篇文章中[委托在权限验证中的应用](见我的blog: http://blog.csdn.net/curllion/ 或http://spaces.msn.com/members/curllion)提到了一个函数ValidateAuthor,其实我以前见过这样实现的,就是一个权限用一个文本来表示,可能有“修改”、“填写”、“审核”、“删除”等等,这样,对于每个用户,在数据库中,都有一个字段,用来记录这样的权限,某用户权限值可能是“修改|删除|审核”,这样,在查找时,就会比较用户权限值中,有没有包括一个操作的名称。这样验证权限好办,但我弄不明白,权限的赋予与除去是如何实现的。每一个操作的
阅读全文
(转)InstallShield 2009制作集成.NET Framework 2.0 Service Pack 2的安装包
摘要:1 概要InstallShield 2009安装后Redistributables(可分发组件包)中包括了.Net Framework 2.0 sp1。个别项目要求打包时需要集成.Net Framework 2.0 sp2。下面介绍下手动如何扩展Redistributables,增加自己需要的发布组件包。2 详细过程2.1 获取.Net Framework 2.0 sp2分发组件包当然要去Microsoft的官方网站。http://www.microsoft.com/downloads/details.aspx?FamilyID=5b2c0358-915b-4eb5-9b1d-10e506da
阅读全文
(转)Installshield 2010 预安装组件和软件
摘要:使用Installshield2010提供的组件 大家再开发软件产品的时候经常是基于某些软件和类库的,像我们的项目就用到了.Net Framework3.5,mapinfo,sqlserver 2008 express,installer 4.5。那用户要用我们的产品,必须有以上的环境才可以,这些东西当然不会让用户自己去安装啦,需要我们来为用户部署好,这样用户才会觉得你的软件真的很好用,不会觉得麻烦对吧。 以前用Installshield2008的时候,对.Net Framework不支持3.5的,也不支持installer4.5,需要自己在脚本中来检测环境,运行相应的安装程序,这样的坏处..
阅读全文