关于this,首先我们要知道this究竟是什么,用官方语言说:面向对象语言中 this 表示当前对象的一个引用。 但在 JavaScript 中 this 不是固定不变的,它会随着执行环境的改变而改变。确切地说,this是当前环境执行期上下文对象的一个属性,不同的环境下,不同作用下,表现是不同的,用一句话概括this的指向的话,就是:this的指向,是在调用函数时根据执行上下文动态确定的默认绑定规
this 在 javascript 的指向规则总结为:在调用函数时使用new关键字,函数内的this是一个全新的对象。如果apply、call或bind方法用于调用或创建一个函数,函数内的 this 就是作为参数传入这些方法的对象。当函数作为对象里的方法被调用时,函数内的this是调用该函数的对象。比如当obj.method()被调用时,函数内的 this 将绑定到obj对象。如果调用函数不符合上
面向对象语言中 this 表示当前对象的一个引用。this 就是一个指针,指向我们调用函数的对象。但在 JavaScript 中 this 不是固定不变的,它会随着执行环境的改变而改变。在方法中,this 表示该方法所属的对象。如果单独使用,this 表示全局对象。在函数中,this 表示全局对象。函数使用中,this 指向函数的所属者。在函数中,在严格模式下,this 是未定义的(undefin
this关键字是一个非常重要的语法点。毫不夸张地说,不理解它的含义,大部分开发任务都无法完成。简单说,this就是属性或方法“当前”所在的对象。那么我们来看看this指向的规则如下: 1. 在全局作用域下,this指向window;this和window的空间地址是一样的;  2. 给元素的事件行为绑定方法,那么方法中的this指向被绑定这个元素;  3. 函数体中的
在javascript中this的指向一直是前端同事的心头病,也同时是各面试题的首选,现在我们就来总结一下js中this的指向。首先需要了解一下几个概念: 1:全局变量默认挂载在window对象下 2:一般情况下this指向它的调用者 3:es6的箭头函数中,this指向创建者,并非调用者 4:通过call、apply、bind可以改改变this的指向 下面我们具体分析一下1:在函数调用时
目录        提问:什么是this?一、this的指向1、全局环境中的this1.1、全局环境中直接打印this 1.2、全局环境中调用普通函数1.3、全局环境中调用定时器和延时器函数2、 对象中的this3、构造函数中的this4、事件中的this5、 箭头函数中的this6、 严格模式下的this二
转载 2022-11-25 15:52:27
30阅读
知识梳理 // 1 一般情况下 this的最终指向都是 调用它的对象 // 2 全局作用域 普通函数 定时器 的this都指向了 window对象 // 3 构造函数的this 指向自己的实例 <script> // 1 全局作用域 普通函数 定时器 的this都指向了全局对象 window con
转载 2021-02-26 21:44:00
136阅读
2评论
1、对象内函数的this指向对象 let obj = { name: 'obj', f: function () { return this } } console.log(obj.f()) 2、全局函数指向window let f = function () { return this } con ...
转载 2021-10-26 17:55:00
55阅读
2评论
<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" /> <meta http-
一、指向 this 指向 + 定义: => this 是一个使用再作用域内部的关键字 => 全局很少用, 大部分是在函数内部使用 + 指向: => 全局使用: window => 函数使用: **不管函数怎么定义, 不管函数在哪定义, 只看函数的调用(箭头函数除外)** -> 普通调用(直接调用/全 ...
转载 2021-08-10 17:45:00
105阅读
2评论
1.this显示绑定 含义:当一个函数没有明确的调用对象的时候,也就是单纯作为独立函数调用的时候,将对函数的this使用默认绑定(绑定到全局window对象) 在显示绑定下(函数将取得在“包含对象”里的永久居住权),一直都会“住在这里” 1.1全局函数 function fire() { conso ...
转载 2021-10-12 16:49:00
111阅读
2评论
// this指向问题var name = 'window'var obj1 = { name: 'obj1', foo1: function () { console.log(this.name) return () => { console.log(this.name) } }, foo2: (
原创 2022-07-13 11:01:42
51阅读
1、先补本子上写的 2、参见https://muyiy.cn/blog/3/3.2.html#%E9%A2%98%E7%9B%AE1,题目1的第四条: var name = 'window' var person1 = { name: 'person1', show4: function () { ...
转载 2021-10-23 16:46:00
95阅读
2评论
在 JavaScript 编程中,this 关键字总是让初学者感到迷惑。跟别的语言大相径庭的是,JavaScript中的this总是指向一个对象,而具体指向哪个对象是在运行时基于函数的执行环境动态绑定的,并非函数声明时的环境。 this的指向大致可以分为以下几种情况:1.作为对象的方法调用当函数作为对象的方法被调用时,this指向该对象,举个栗子:var obj = { name:"1"
​ this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,一般情况下this的最终指向的是那个调用它的对象。 现阶段,我们先了解一下几个this指向 全局作用域或者普通函数中this指向全局对象window(注意定时器里面的this指向window) 【全局作用域
转载 2020-01-11 20:07:00
84阅读
2评论
# Python指向问题解决方案 ## 1. 问题描述 在Python中,当涉及到可变对象和不可变对象时,会出现指向问题。小白开发者可能会遇到这种情况,不知道如何正确处理。下面我将为你介绍如何解决这个问题。 ## 2. 操作流程 下面是解决Python指向问题的步骤表格: | 步骤 | 操作 | |------|------| | 1 | 创建一个可变对象 | | 2 | 创建一
原创 2024-04-30 03:28:31
26阅读
温习一下以下写法:在哪调用this指向的就是谁。
原创 2024-05-29 11:11:20
15阅读
要知道 this 指向问题,需要知道函数调用栈,函数调用的位置。先来看看以下这个例子:functionbaz(){//当前调用栈:baz//因此,当前调用位置是...
1、this指向要素 this指向的只可能是对象 this指向谁取决于函数在哪调用 this指向的对象称为函数上下文,也叫函数的调用者2、指向规律方法中,this指向该方法的所属对象,如果单独使用,this表示全局对象;在函数中也是表示全局对象,但是在严格模式下,this是未定义的;在事件中则是接收事件的元素;类似call() 和 apply() 方法可以将 this 引用到任何对象2.1 函数名
this的用法​ 1、直接在函数中使用 谁调用这个函数this就指向谁 2、对象中使用, 一般情况下指向该对象 3、在构造函数中使用 改变this的指向,两种方法的作用都是相同的,传递的写法不同而已。call -- (指向谁,参数1,参数2......) apply -- (指向谁,[参数1,参数2]) 数组的形式1
转载 2022-11-08 13:56:23
62阅读
  • 1
  • 2
  • 3
  • 4
  • 5