JS中的this理解
来源:互联网 发布:云端软件平台1.0 编辑:程序博客网 时间:2024/06/04 19:07
在JS中,this是动态绑定的,而java等其他面向对象的语言中,this关键字的含义是明确具体的,他们指代当前对象,称为 编译期绑定
JS中的this是 运行期绑定
此时,this可以是 全局变量,当前对象或者任意对象—-而这完全取决于 函数的调用方式
几种调用方式:
作为对象调用,函数可以作为某个对象的方法调用,这时this指向这个上级对象
作为函数调用,纯粹的函数调用,这时this代表全局,一般是window
作为构造函数调用.所谓构造函数,就是通过这个函数生成一个新对象(object),这时,this就指这个新对象
使用apply和call调用,因为JS中函数也是对象,自然也就拥有方法,apply和call就是函数对象的方法.它们允许切换函数执行的上下文环境context—即this的绑定对象
导致this含义如此丰富的原因是:JS中的函数既可以被当作普通函数执行,也可以作为对象的方法执行
一个函数被执行时,
首先创建一个 执行环境ExecutionContext
函数的所有行为均发生在此执行环境中 构建该执行环境时,JS首先会创建arguments变量,它包含了调用函数时传入的参数,
然后创建 作用域链.
初始化变量
首先初始化函数的形参表,其值为arguments变量中对应的值(若arguments中没有对应值,则该形参初始化为undefined)
prototype中的this不会改变
0 0
- JS中的this理解
- js中的this理解
- 理解js中的this对象
- js中的this再理解
- 如何理解JS中的this指向问题
- 5分钟理解JS中的this关键字
- 由浅至深理解js中的this
- 理解 JS 回调函数中的 this
- js-this指针理解
- js中this理解
- 【js与jquery】javascript中的this关键字的理解
- Js函数深入理解-闭包中的this
- 理解javascrpit中的this
- 理解 JavaScript 中的 this
- 理解JavaScript 中的 this
- 理解JavaScript中的this
- js中的this
- js中的this关键字
- ios学习之模糊效果的学习
- 黑马程序员—Java 学习笔记1 Java概述
- leetcode32
- LeetCode | Valid Palindrome
- JAVA Eight Queens
- JS中的this理解
- 斐波那契数列-台阶问题
- C++中进程间相互通信的十一种方法(转)
- 安卓中页面(activity)的数据交互的方式:
- linux并发服务器(1)
- Objective-C内存管理详解——dealloc方法
- MySQL-5.6.24免安装版配置方法
- Java中的clone方法
- Spring4.0集成Junit4测试case