JavaScript有自己的一套this机制,在不同情况下,this的指向也不尽相同。
全局范围
console.log(this); //全局对象
全局范围使用this指向的是全局对象,浏览器环境下就是window。
函数调用中
function foo() {
console.log(this);
}
foo(); //全局对象
函数调用中的this也指向全局对象。
对象方法调用
var test = {
foo: function () {
console.log(this);
}
}
test.foo(); //test对象
对象方法调用中,this指向调用者。
var test = {
foo: function () {
console.log(this);
}
}
var test2 = test.foo;
test2(); //全局对象
不过由于this的晚绑定特性,在上例的情况中this将指向全局对象,相当于直接调用函数。 这点非常重要,
同样的代码段,只有在运行时才能确定this指向
构造函数
function Foo() {
console.log(this);
}
new Foo(); //新创建的对象
console.log(foo);
在构造函数内部,this指向新创建的对象。
显式设置this
function foo(a, b) {
console.log(this);
}
var bar = {};
foo.apply(bar, [1, 2]); //bar
foo.call(1, 2); //Number对象
使用Function.prototype的call或者apply方法时,函数内部this会被设置为传入的第一个参数
分享到:
相关推荐
在JavaScript编程语言中,`this`关键字是一个至关重要的概念,它常常引发初学者的困惑,因为它的值在不同的上下文中可能会有所不同。`this`关键字主要用来引用对象的上下文,或者说是当前执行环境中的对象。在本文中...
JavaScript中this的指向还没搞明白?来这看看 你就懂啦~
### JavaScript中this指向详解 #### 一、引言 在JavaScript编程中,`this`关键字的使用及其指向问题一直是困扰很多开发者的难点之一。不同于传统面向对象编程语言如Java或C#中的`this`概念,JavaScript中的`this`...
探寻JavaScript中this指针指向 JavaScript中的this指针指向是一个复杂的问题,需要深入了解JavaScript的函数调用机制和对象模型。这篇文章将深入探讨this指针指向的问题,并提供多个例子来说明this指针指向的规律。...
复习JavaScript中this指向及绑定
JavaScript中的`this`关键字是程序设计中的一个核心概念,它在不同上下文环境中有着不同的指向,这使得理解和掌握`this`的用法至关重要。在JavaScript中,`this`的值取决于函数调用的方式,而不是定义的方式,这为...
### JavaScript 中 `this` 的用法详解 #### 一、引言 在 JavaScript 开发过程中,`this` 关键字的使用常常令开发者感到困惑。这是因为 `this` 的值并不是静态确定的,而是取决于函数调用的方式。了解 `this` 的...
在JavaScript中,`this`关键字是用来引用函数执行上下文中的对象。它的行为有时可能会让初学者感到困惑,但理解其工作原理对于编写高效和可维护的代码至关重要。下面我们将深入探讨`this`的使用和一些常见场景。 1....
这种特性使得this在JavaScript中具有了多重含义,对于初学者来说,确实是一个令人困惑的概念。 首先,需要明确的是,在JavaScript中,this关键字的指向不是在编译期确定的,而是在运行期确定的。这与大多数主流的...
在JavaScript编程中,`this`关键字是一个至关重要的概念,它表示当前上下文中的对象引用。在不同的场景下,`this`的指向会有所不同,这往往让开发者感到困惑。以下是关于`this`指向问题的详细解释: 一、普通函数...
JavaScript中的this关键字是一个非常重要的概念,它在函数执行时确定了函数的执行上下文。在其他编程语言中,函数的调用上下文可能是明确的,但在JavaScript中,this的指向却可能因为多种不同的规则而变化,从而导致...
在JavaScript中,`this`关键字的作用域是一个经常让人困惑的主题,尤其对于那些习惯于其他面向对象语言(如Java或C++)的开发者来说。在这些语言中,`this`通常固定地指向当前对象实例。然而,在JavaScript中,`this...
在JavaScript中,`this`关键字是一个非常重要的概念,它指的是当前执行上下文中的对象。`this`的值取决于函数的调用方式,而不是定义方式。下面我们将详细探讨在不同场景下`this`的用法。 1. **全局作用域中调用...
对大多数有OOP开发经验的开发人员来说this是当前作用域中引用普通元素的标识符,但是在Javascript中它却显得古灵精怪的,因为它不是固定不变的,而是随着它的执行环境的改变而改变。在Javascript中this总是指向调用...
在JavaScript开发中,使用jQuery的$(this)在原生态函数中可能会出现无效的问题,本文将对此进行详细的分析和解决方法的介绍。 一、问题描述 在JavaScript开发中,我们经常使用jQuery来简化我们的代码,但是当我们...
本文实例讲述了javascript中this的用法。分享给大家供大家参考,具体如下: 实践一:this在点击等事件中的指向 html结构: <button id='btn'>click me</button> javascript结构: var btn = document...
首先,让我们了解JavaScript中的this关键字。在JavaScript中,this的指向不像其他一些面向对象的编程语言中那样固定,而是依赖于函数的调用方式。在传统的面向对象语言中,this关键字通常指代当前对象,但在...
应该是最常用的吧,函数中调用一个this,这里其实就是全局变量 var value="0"; function mei(){ var value="1"; console.log(this.value); //0 console.log(value); //1 } mei(); 输出0就是因为this指向的是全局...