chrome扩展开发

浏览器扩展可以大大地增强我们浏览器的功能。比如捕捉网页内容、捕捉http报文、过滤页面广告、修改网页内容……IE扩展开发涉及C++和COM技术,火狐扩展开发涉及环境搭建以及web开发以外的知识,而chrome扩展相对来说就比较简单,具备JavaScript等前端知识就能快速上手。以下,我们简单地介绍一下chrome扩展开发。

More

JavaScript中this该如何理解?

this出现的地方无非两种:全局环境中和函数中。不管哪种情况,this都是执行上下文的一个属性,并且this总是返回一个对象。(1)在全局上下文中,this就是全局对象本身。(2)在函数上下文中,函数的每次调用对应this对象都可能不同。不过,关于函数中的this,我们可以记住一句结论:this对象是在函数调用时,具体代码执行以前,激活该函数上下文的执行者(比如调用该函数的对象,再比如调用该函数的外层上下文)。

More

JavaScript闭包(译)

原文: http://dmitrysoshnikov.com/ecmascript/javascript-the-core/

在ECMAScript中,函数是第一级(first-class)对象。这个术语意味着函数可以做为参数传递给其他函数(在那种情况下,这些参数叫作「函数类型参数」)。接收「函数类型参数」的函数叫作高阶函数。同样函数也可以从其他函数中返回。返回其他函数的函数叫作以函数为值的函数。

More

JavaScript作用域链(译)

原文: http://dmitrysoshnikov.com/ecmascript/javascript-the-core/

作用域(scope)控制着变量和参数的可见性生命周期

通常来说,一段程序代码中所用的变量并不是总是可用的,而限定这个变量的可用性的代码范围就是这个变量的作用域。

作用域链是一个对象列表,执行上下文中出现的标识符在这个列表中进行查找。

作用域链和原型链类似:如果一个变量在函数自身的作用域(自身的变量对象)中没有找到,那么将会查找它的父函数(外层函数)的变量对象,以此类推!

More