代码改变世界

arguments.callee

2012-07-10 15:23 by @影子@, 166 阅读, 0 推荐, 收藏, 编辑
摘要:arguments.callee是一个指向正在执行的函数的指针,在编写递归函数时,arguments.callee总是比使用函数名要保险。function factorial(num){ if(num<=1){return 1;} else{ return num*arguments.callee(num-1); }}var c = factorial;factorial = null;alert (c(4)); 阅读全文

关于javascript中apply()和call()方法的区别

2012-07-10 14:06 by @影子@, 170 阅读, 0 推荐, 收藏, 编辑
摘要:ref:http://www.popo4j.com/article/the-differences-of-apply-and-call.html 如果没接触过动态语言,以编译型语言的思维方式去理解javaScript将会有种神奇而怪异的感觉,因为意识上往往不可能的事偏偏就发生了,甚至觉得不可理喻.如果在学JavaScript这自由而变幻无穷的语言过程中遇到这种感觉,那么就从现在形始,请放下的您的”偏见”,因为这对您来说绝对是一片新大陆好,言归正传,先理解JavaScrtipt动态变换运行时上下文特性,这种特性主要就体现在apply,call两个方法的运用上.区分apply,call就一句话,. 阅读全文

ECMAScript 继承机制实现

2012-07-09 17:26 by @影子@, 169 阅读, 0 推荐, 收藏, 编辑
摘要:今天应该花时间研究的文章Safe Factory Pattern - Private instance state in JavaScripthttp://www.codeproject.com/Articles/133118/Safe-Factory-Pattern-Private-instance-state-in-JavECMAScript 继承机制实现http://www.w3school... 阅读全文

有用的工具函数

2012-07-09 16:41 by @影子@, 188 阅读, 0 推荐, 收藏, 编辑
摘要:本文摘自《Javascript权威指南》8.7节Page146对象工具函数var obj = {}; // <=> new Object(); // Add 'prop1'obj.prop1 = 1; // Add 'prop2'obj.prop2 = 2; // Delete 'prop1'delete obj.prop1; // Change value of 'prop2'obj.prop2 = 3;//Return a array that holds the names of the enumerable p 阅读全文

Javascript闭包模拟私有成员

2012-07-09 15:53 by @影子@, 318 阅读, 0 推荐, 收藏, 编辑
摘要:通过闭包可以使得外部原型方法无法访问到内部的成员。如下例所示,原型方法返回的是undefined,这是因为闭包存在于Immutable中,导致无法访问到getWidth和getHeight。function ImmutableRectangle(w,h){ this.getWidth = function () { return w; } ; this.getHeight = function () { return h; } ;}ImmutableRectangle.prototype.area = function(){ return this.getWidth()*this.getHei 阅读全文

this关键字

2012-07-09 14:02 by @影子@, 172 阅读, 0 推荐, 收藏, 编辑
摘要:在javascript中,必须为属性显式的指定this关键字 。 写成 return this.width*this.height如果觉得必须在每个实例字段前都使用this前缀很不好看,那么可以在自己的每个方法中使用with语句Rectangle.prototype.area = function() { with(this){ return width*height; }}【参考文章】http://www.quirksmode.org/js/this.htmlhttp://www.cnblogs.com/georgewing/archive/2009/09... 阅读全文

ECMAScript的世界

2012-07-07 12:05 by @影子@, 211 阅读, 0 推荐, 收藏, 编辑
摘要:ECMAScript, 这个从JavaScript和JScript演变而来的标准,现在已经进化为第三版,而这棵大树已经繁衍了好多枝叶了。看看这张由jQuery的创始人 John Resig建立的ECMAScript族谱,你会惊讶的发现原来好多都不知道啊,呵呵。原文:http://ejohn.org/blog/the-world-of-ecmascript/原文作者:John Resig以下是对原文的翻译:我做了一些搜索和挖掘工作,并把找到的资料联系起来,得出的结果很有趣,我把它叫做"ECMAScript的世界".(授权方式:GPL v2[SVG])这 是一个关于ECMASc 阅读全文

js原型链原理看图说话

2012-07-07 11:49 by @影子@, 2034 阅读, 4 推荐, 收藏, 编辑
摘要:任何一个对象都有一个prototype的属性,在js中可以把它记为:__proto__当初ECMAscript的发明者为了简化这门语言,同时又保持继承的属性,于是就设计了这个链表。。在数据结构中学过链表不,链表中有一个位置相当于指针,指向下一个结构体。于是乎__proto__也一样,每当你去定义一个prototype的时候,相当于把该实例的__proto__指向一个结构体,那么这个被指向结构体就称为该实例的原型。文字说起来有点儿绕,看图说话var foo = {x: 10,y: 20};当我不指定__proto__的时候,foo也会预留一个这样的属性,如果有明确的指向,那么这个链表就链起来啦。 阅读全文

JavaScript 技巧与高级特性

2012-07-07 00:30 by @影子@, 157 阅读, 0 推荐, 收藏, 编辑
摘要:null 与 undefinedJavaScript 中一共有 5 种基本类型,分别是 String、Number、Boolean、Null 和 Undefined 。前 3 种都比较好理解,后面两种就稍微复杂一点。 Null 类型只有一个值,就是 null ; Undefined 类型也只有一个值,即 undefined 。 null 和 undefined 都可以作为字面量(literal)在 JavaScript 代码中直接使用。null 与对象引用有关系,表示为空或不存在的对象引用。当声明一个变量却没有给它赋值的时候,它的值就是 undefined 。undefined 的值会出现在如 阅读全文

JavaScript 开发进阶:理解 JavaScript 作用域和作用域链

2012-07-06 22:45 by @影子@, 167 阅读, 0 推荐, 收藏, 编辑
摘要:作用域是JavaScript最重要的概念之一,想要学好JavaScript就需要理解JavaScript作用域和作用域链的工作原理。今天这篇文章对JavaScript作用域和作用域链作简单的介绍,希望能帮助大家更好的学习JavaScript。JavaScript作用域 任何程序设计语言都有作用域的概念,简单的说,作用域就是变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期。在JavaScript中,变量的作用域有全局作用域和局部作用域两种。 1. 全局作用域(Global Scope) 在代码中任何地方都能访问到的对象拥有全局作用域,一般来说以下几种情形拥有全局作用域:... 阅读全文
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 18 下一页