JavaScript this 深入理解
2014-06-26 13:21
253 查看
一直以来,对于JavaScript 中的this的理解都是很模糊的, 特别是对函数进行apply 与 call 调用。这两个操作如果没有很好的理解 JavaScript中this的概念,会越搞越迷糊。
最近一段时间看了很多JavaScript 的库源码, 如 prototype, Ext core 等。这些库中大量应用到了这一概念。直到昨天翻了一下《JavaScript王者归来》这本书才算对this有一个深刻的理解。 效果可以看下具体51搜索展示http://www.51bt.cc,结合Xunsearch全文检索技术,可以达到毫秒级的数据搜索
大至归结一下:
1. 函数调用者与所有者
JavaScript 中函数(function) 存在调用者 与 所有者这两个概念,调用者是指调用函数的对象,通常是一个指向调用了当前函数的函数的引用,如果是顶层调用,那么caller=null, 大部分浏览器的JavaScript实现 可以用 caller 这个属性获得(这不是 ECMAScript 规范的一部分,所有还是慎用)。
最近一段时间看了很多JavaScript 的库源码, 如 prototype, Ext core 等。这些库中大量应用到了这一概念。直到昨天翻了一下《JavaScript王者归来》这本书才算对this有一个深刻的理解。 效果可以看下具体51搜索展示http://www.51bt.cc,结合Xunsearch全文检索技术,可以达到毫秒级的数据搜索
大至归结一下:
1. 函数调用者与所有者
JavaScript 中函数(function) 存在调用者 与 所有者这两个概念,调用者是指调用函数的对象,通常是一个指向调用了当前函数的函数的引用,如果是顶层调用,那么caller=null, 大部分浏览器的JavaScript实现 可以用 caller 这个属性获得(这不是 ECMAScript 规范的一部分,所有还是慎用)。
相关文章推荐
- 深入理解JavaScript系列(13) This? Yes,this!
- 深入理解Javascript之this关键字
- 深入理解javascript原型和闭包(10)——this
- js基础1-深入理解javascript之this
- 深入理解JavaScript系列(13):This? Yes, this!
- 深入理解JavaScript系列(13):This? Yes,this!
- 深入理解JavaScript系列 ----(13):This? Yes,this!
- 深入理解javascript原型和闭包(17)——补this
- 深入理解Javascript的特殊变量this
- 深入理解javascript之this
- Javascript之this关键字的深入理解
- 深入理解JavaScript系列(13):This? Yes, this!
- 深入理解Javascript之this关键字
- 深入理解javascript原型和闭包(10)——this
- 深入理解JavaScript系列(13):This? Yes,this!
- 深入理解Javascript之this关键字
- 深入理解Javascript之this关键字
- 深入理解javascript的一些特性(静态作用域,this指针,闭包)
- 深入理解javascript中的“this”
- 深入理解javascript原型和闭包(17)——补this