`
caniggia1986
  • 浏览: 149738 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

深入理解Javascript之this关键字

阅读更多
this:在Javascript中,This关键字永远都指向函数(方法)的所有者.
http://www.laruence.com/2009/09/08/1076.html
原型链和原型:The prototype is only used for properties inherited by objects/instances created by that function. The function itself does not use the associated prototype
http://www.laruence.com/2010/05/13/1462.html
作用域:JavaScript中的函数运行在它们被定义的作用域里,而不是它们被执行的作用域里
http://www.laruence.com/2009/05/28/863.html

1.  js中的作用域是通过作用域链来实现的,  这个链, 是由一个一个的活动对象组成的, 最顶级的活动对象是window

2. 在js中, 在每一个执行点, this关键字都指当前函数(方法)的所有者.

3. 每个属性,其实都会定义成当前活动对象的属性, 在顶级文件中的每个函数定义,变量定义, 都定义成window对象的属性.

4. 对于函数, 如果通过函数表达式定义的函数, 则在函数表达式执行前, 该函数不可用. 而如果是通过函数定义式定义的函数, js会把它的定义提前, 也就是说在函数定义式之前, 该函数都可用.

5. 因为活动对象链的特性, 所以js支持闭包.

另外关于js中的原型链有一句要说的.
1. 只有函数对象有可以访问的prototype属性, 一般对象不是没有prototype属性, 只是没有可以访问的prototype属性.(严格来讲, 一般对象只有只能JS引擎内部访问的”[[prototype]]”属性)
分享到:
评论

相关推荐

    深入理解JavaScript中的this关键字

    NULL 博文链接:https://wv1124.iteye.com/blog/505236

    深入理解Javascript中的this关键字

    主要介绍了深入理解Javascript中的this关键字,本文讲解了方法调用模式、函数调用模式、构造器调用模式、apply调用模式中this的不同之处,需要的朋友可以参考下

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

    讨论的主题就是this关键字。实践证明,这个主题很难,在不同执行上下文中this的确定经常会发生问题。 许多程序员习惯的认为,在程序语言中,this关键字与面向对象程序开发紧密相关,其完全指向由构造器新创建的对象...

    深入解析JavaScript编程中的this关键字使用

    JavaScript 里的 this 到底指得是什么?很多人都会告诉你 this 指的是当前对象。这样理解对么?在大多数情况下确实没错。比如我们经常会在网页上写这样的 JavaScript: <input type=submit value=提交 onclick=...

    深入理解javascript中的 “this”

    我们知道 “this” 是javascript语言的一个关键字,在编写javascript代码的时候,经常会见到或者用到它。 但是,有一部分开发朋友,对 “this” 一知半解,下面我们就一起来探讨学习下javascript中 “this” 的具体...

    灵活的理解JavaScript中的this指向

    this是JavaScript中的关键字之一,在编写程序的时候经常会用到,正确的理解和使用关键字this尤为重要。首先必须要说的是,this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际...

    深入理解JavaScript系列(26):设计模式之构造函数模式详解

    介绍 构造函数大家都很熟悉了,不过如果你是新手,还是有必要来了解一下什么叫构造函数的。构造函数用于创建特定类型的对象——不仅声明了使用的...在构造函数内部,this关键字引用的是新创建的对象。基本用法如下:

    深入理解javascript构造函数和原型对象

    使用new关键字创建 最基础的对象创建方式,无非就是和其他多数语言一样说的一样:没对象,你new一个呀! var gf = new Object(); gf.name = "tangwei"; gf.bar = "c++"; gf.sayWhat = function() { console.log...

    深入浅析JavaScript面向对象和原型函数

    对象,是javascript中非常重要的一个梗,是否能透彻的理解它直接关系到你对整个javascript体系的基础理解,说白了,javascript就是一群对象在搅。。(哔!)。 下面给大家介绍下常用的几种对象创建模式 使用new...

Global site tag (gtag.js) - Google Analytics