读书人

(转)经过使用Chrome的开发者工具来学习

发布时间: 2012-12-15 15:16:03 作者: rapoo

(转)通过使用Chrome的开发者工具来学习JavaScript

(转)http://www.qianduan.net/use-the-chrome-developer-tools-to-learn-javascript.html

?

本文作者是Peter Rybin,Chrome开发者工具团队成员.

本文中,我们将通过使用Chrome的开发者工具,来学习JavaScript中的两个重要概念”闭包”和”内部属性”.

闭包

首先要讲的是闭包(closure) JavaScript中最有名的东西之一.一个闭包就是一个使用了外部变量的函数.查看下面的例子:

从现在开始,chrome的开发者工具可以让闭包中的外部变量现形.在监控表达式(Watch Expressions)面板中查看函数实例b,展开它的属性后,应该会有一个称为<function scope>的子节点.所有被绑定的闭包变量都能在这里看到,这些变量就是在函数调用时可能会被用到的变量.

内部属性

开发者工具还能显示出另外一个东西,叫做内部属性(internal property).

假设你的代码中有个变量s,而且还执行了下面这样的操作:

还有哪些值拥有内部属性?那就是绑定函数(bound function).绑定函数也算是一种包装对象,只不过被包装的是个函数.尝试执行下面的两条语句:

这就是绑定函数的工作原理.在开发者工具中,你会看到[[TargetFunction]], [[BoundArgs]]以及[[BoundThis]]这三个内部属性.它们都表明了inc是一个绑定函数,以及一些更具体的信息:inc绑定的目标函数是Sum,绑定了一个参数1,绑定的this值是null.

(转)经过使用Chrome的开发者工具来学习JavaScript

原文:https://gist.github.com/4158604

读书人网 >JavaScript

热点推荐