摘要: 一次又一次的,我发现,那些有bug的Javascript代码是由于没有真正理解Javascript函数是如何工作而导致的(顺便说一下,许多那样的代码是我写的)。JavaScript拥有函数式编程的特性,当我们选择面对它的时候,这将成为我们前进的阻碍。 作为初学者,我们来测试五种函数调用的方法,从表面来看我们会认为那些函数与C#中函数的作用非常相似,但是我们一会儿可以看到还是有非常重要的不同的地方的,忽视这些差异无疑会导致难于跟踪的bug。首先让我们创建一个简单的函数,这个函数将在将在下文中使用,这个函数仅仅返回当前的this的值和两个提供的参数。JavaScript函数调用规则1在没有通... 阅读全文
posted @ 2013-08-22 19:16 jennyyang 阅读(174) 评论(0) 推荐(0) 编辑
摘要: JavaScrtipt动态变换运行时上下文特性,这种特性主要就体现在apply,call两个方法的运用上。 JavaScrtipt中有一个call和apply方法,其作用基本相同,但也有略微的区别。call,apply都属于Function.prototype的一个方法,它是JavaScrtipt引擎内在实现的,因为属于Function.prototype,所以每个Function对象实例,也就是每个方法都有call, apply属性。既然作为方法的属性,那它们的使用就当然是针对方法的了。这两个方法的作用一样,只是使用方式不同。 在JavaScript中,代码总是有一个上下文对象,代码处理.. 阅读全文
posted @ 2013-08-22 18:10 jennyyang 阅读(150) 评论(0) 推荐(0) 编辑