代码改变世界

大叔手记(19):你真懂JavaScript吗?

2012-02-09 09:45 by 汤姆大叔, 20275 阅读, 65 推荐, 收藏, 编辑
摘要:介绍大叔整理的《深入理解JavaScript系列》已经快20篇了,不知道大家看的如何了? 除了大家熟知的闭包、原型、作用域以外,不知道大家是否真正理解了JavaScript的核心特性,在网上发现几个小题目非常有意思,正好适合考察大家对JavaScript的理解。如果大家有兴趣(或者自认为对JavaScript了解还不错的人),可以尝试着回答一下下面5个题目的输出结果(不要google或baidu哦)。至于正确结果嘛,自己可以将代码复制到浏览器里就可以看到了(稍后这两天,我会将详细的解释单独发帖整理出来)。PS:大胆点,不管结果对不对,都把你的答案贴出来(最好带有自己的想法,后面我们和准确解释做 阅读全文

深入理解JavaScript系列(19):求值策略(Evaluation strategy)

2012-02-08 09:50 by 汤姆大叔, 18602 阅读, 35 推荐, 收藏, 编辑
摘要:介绍本章,我们将讲解在ECMAScript向函数function传递参数的策略。计算机科学里对这种策略一般称为“evaluation strategy”(大叔注:有的人说翻译成求值策略,有的人翻译成赋值策略,通看下面的内容,我觉得称为赋值策略更为恰当,anyway,标题还是写成大家容易理解的求值策略吧),例如在编程语言为求值或者计算表达式设置规则。向函数传递参数的策略是一个特殊的case。http://dmitrysoshnikov.com/ecmascript/chapter-8-evaluation-strategy/写这篇文章的原因是因为论坛上有人要求准确解释一些传参的策略,我们这里给出 阅读全文

深入理解JavaScript系列(18):面向对象编程之ECMAScript实现(推荐)

2012-02-06 09:27 by 汤姆大叔, 23258 阅读, 39 推荐, 收藏, 编辑
摘要:介绍本章是关于ECMAScript面向对象实现的第2篇,第1篇我们讨论的是概论和CEMAScript的比较,如果你还没有读第1篇,在进行本章之前,我强烈建议你先读一下第1篇,因为本篇实在太长了(35页)。英文原文:http://dmitrysoshnikov.com/ecmascript/chapter-7-2-oop-ecmascript-implementation/注:由于篇幅太长了,难免出现错误,时刻保持修正中。在概论里,我们延伸到了ECMAScript,现在,当我们知道它OOP实现时,我们再来准确定义一下:ECMAScript is an object-oriented progra 阅读全文

深入理解JavaScript系列(17):面向对象编程之概论

2012-02-03 09:05 by 汤姆大叔, 28114 阅读, 40 推荐, 收藏, 编辑
摘要:介绍在本篇文章,我们考虑在ECMAScript中的面向对象编程的各个方面(虽然以前在许多文章中已经讨论过这个话题)。我们将更多地从理论方面看这些问题。 特别是,我们会考虑对象的创建算法,对象(包括基本关系 - 继承)之间的关系是如何,也可以在讨论中使用(我希望将消除之前对于JavaScript中OOP的一些概念歧义)。英文原文:http://dmitrysoshnikov.com/ecmascript/chapter-7-1-oop-general-theory/概论、范式与思想在进行ECMAScript中的OOP技术分析之前,我们有必要掌握一些OOP基本的特征,并澄清概论中的主要概念。ECM 阅读全文

深入理解JavaScript系列(16):闭包(Closures)

2012-01-31 08:44 by 汤姆大叔, 53657 阅读, 67 推荐, 收藏, 编辑
摘要:介绍本章我们将介绍在JavaScript里大家经常来讨论的话题 —— 闭包(closure)。闭包其实大家都已经谈烂了。尽管如此,这里还是要试着从理论角度来讨论下闭包,看看ECMAScript中的闭包内部究竟是如何工作的。正如在前面的文章中提到的,这些文章都是系列文章,相互之间都是有关联的。因此,为了更好的理解本文要介绍的内容,建议先去阅读第14章作用域链和第12章变量对象。英文原文:http://dmitrysoshnikov.com/ecmascript/chapter-6-closures/概论在直接讨论ECMAScript闭包之前,还是有必要来看一下函数式编程中一些基本定义。众所周知, 阅读全文

深入理解JavaScript系列(15):函数(Functions)

2012-01-30 08:37 by 汤姆大叔, 36076 阅读, 51 推荐, 收藏, 编辑
摘要:介绍本章节我们要着重介绍的是一个非常常见的ECMAScript对象——函数(function),我们将详细讲解一下各种类型的函数是如何影响上下文的变量对象以及每个函数的作用域链都包含什么,以及回答诸如像下面这样的问题:下面声明的函数有什么区别么?(如果有,区别是什么)。原文:http://dmitrysoshnikov.com/ecmascript/chapter-5-functions/var foo = function () { ...};平时的惯用方式:function foo() { ...}或者,下面的函数为什么要用括号括住?(function () { ...})();关于... 阅读全文

深入理解JavaScript系列(14):作用域链(Scope Chain)

2012-01-18 09:35 by 汤姆大叔, 58100 阅读, 53 推荐, 收藏, 编辑
摘要:前言在第12章关于变量对象的描述中,我们已经知道一个执行上下文 的数据(变量、函数声明和函数的形参)作为属性存储在变量对象中。同时我们也知道变量对象在每次进入上下文时创建,并填入初始值,值的更新出现在代码执行阶段。这一章专门讨论与执行上下文直接相关的更多细节,这次我们将提及一个议题——作用域链。英文原文:http://dmitrysoshnikov.com/ecmascript/chapter-4-scope-chain/中文参考:http://www.denisdeng.com/?p=908本文绝大部分内容来自上述地址,仅做少许修改,感谢作者定义如果要简要的描述并展示其重点,那么作用域链大多 阅读全文

深入理解JavaScript系列(13):This? Yes,this!

2012-01-17 08:50 by 汤姆大叔, 46344 阅读, 48 推荐, 收藏, 编辑
摘要:介绍在这篇文章里,我们将讨论跟执行上下文直接相关的更多细节。讨论的主题就是this关键字。实践证明,这个主题很难,在不同执行上下文中this的确定经常会发生问题。许多程序员习惯的认为,在程序语言中,this关键字与面向对象程序开发紧密相关,其完全指向由构造器新创建的对象。在ECMAScript规范中也是这样实现的,但正如我们将看到那样,在ECMAScript中,this并不限于只用来指向新创建的对象。英文翻译: Dmitry A. Soshnikov在Stoyan Stefanov的帮助下发布: 2010-03-07http://dmitrysoshnikov.com/ecmascript/c 阅读全文

深入理解JavaScript系列(12):变量对象(Variable Object)

2012-01-16 09:03 by 汤姆大叔, 54556 阅读, 74 推荐, 收藏, 编辑
摘要:介绍JavaScript编程的时候总避免不了声明函数和变量,以成功构建我们的系统,但是解释器是如何并且在什么地方去查找这些函数和变量呢?我们引用这些对象的时候究竟发生了什么?原始发布:Dmitry A. Soshnikov发布时间:2009-06-27俄文地址:http://dmitrysoshnikov.com/ecmascript/ru-chapter-2-variable-object/英文翻译:Dmitry A. Soshnikov发布时间:2010-03-15英文地址:http://dmitrysoshnikov.com/ecmascript/chapter-2-variable-o 阅读全文

大叔手记(18):利用Elmah和Google体验一把入侵的快感

2012-01-13 15:28 by 汤姆大叔, 14706 阅读, 59 推荐, 收藏, 编辑
摘要:介绍关于ELMAH,相信大家都不陌生了,最流行的错误日志记录组件,用过的人都知道其强大的威力,可以记录非常详细的错误信息供管理员和开发人员进行分析。Elmah配置起来也非常简单,但是同时也带来了一个问题:那就是如果配置不好的话,就会被入侵,而且入侵的方法非常非常简单,本文我讲演示一下,如何利用Elmah错误信息和Google搜索来入侵一个站点,同时本文也提供了正确的Elmah配置方法。原文整理自:http://www.troyhunt.com/2012/01/aspnet-session-hijacking-with-google.html注1:本人目的是让大家正确配置ELMAH,不是教大家入 阅读全文
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 16 下一页