this 指向

2024-08-25 08:36
文章标签 指向

本文主要是介绍this 指向,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、全局 this 指向

全局 this 指向取决于环境,在浏览器环境中 this 指向 window,在 node 环境中 this 指向空对象。

二、函数 this 指向

1. 箭头函数

箭头函数没有 this。箭头函数定义的位置 this 指向谁,箭头函数里面的 this 就指向谁。

2. 普通函数

this 指向取决于怎么调用的。

2.1 通过 new 调用

this 指向实例对象

new Method();

2.2 直接调用

this 指向全局对象

method();

2.3 通过对象调用

this 指向对象

obj.method();

2.4 call、apply、bind

this 指向第一个参数

method.call(obj);

这篇关于this 指向的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1105063

相关文章

【JavaScript】this指向的问题

this指向不是在创建时指定的,而是由最后调用它的对象决定的。 全局对象的this 在非严格模式下,this指向window;在严格模式下,this指向undefined。 1)简单版 function f1 () {console.log(this)}function f2 () {'use strict'console.log(this)}f1() // windowf2()

ES6箭头函数中的this指向

1箭头函数中的this (1)箭头函数中没有this : 这意味着 call() apply() bind() 无法修改箭头函数中的this(2)箭头函数中的this指向 :访问上一个作用域的this 说人话:函数在哪个作用域声明,this就是谁 (本质是通过作用域链访问上一个作用域中的this) (3)箭头函数与function函数this区别 function函数 : 谁调用我,我就指向谁,

Javascript归纳与总结——this指向及其改变、new关键字与原型链、异步、闭包和函数防抖与节流

this指向及其改变 普通函数在调用时,this为obj.obj1.fun(),this->obj1,箭头函数在声明定义时this->obj。 Javascript中bind、call、apply區別-CSDN博客 new关键字与原型链  从原型链视角解读VueComponent与Vue关系_vue中重要的原型链关系-CSDN博客 prototype这个属性只有函数对象才有!(构造)

js进阶一(prototype、prototype指向、原型继承、构造继承、组合继承、为window赋值新属性)

文章目录 prototypeprototype中方法互相访问prototype中找寻属性、方法改变prototype指向内置对象添加prototype方法window全局对象通过原型实现继承继承例子借用构造函数组合继承 prototype 原型? 实例对象中有__proto__这个属性,叫原型,也是一个对象,这个属性是给浏览器使用,不是标准的属性----->proto----

令人疑惑的this,到底指向哪里?

this指向 ● 方法中,this指向该方法所属对象 ● 函数中,this指向全局对象(window或gobal) ● 单独时,this指向全局对象(window或gobal) ● 事件中,this指向接受事件的函数 ● 也可以自定义this指向(call,apply,bind) ● 箭头函数中: ○ this的指向是在定义函数时绑定的,而非执行函数时 ○ 定义时绑定:自内向外继承this,在父

C++非const的引用不能指向临时对象

C++标准的规定:非常量的引用不能指向临时对象 例如: const string &temp = "c++"; 是正确的。 但是string &temp = “c++”; 是错误的,因为该语句首先调用string的构造函数,生成一个临时对象,但是将该临时对象复制给一个非const的引用temp就是错误的。 -----------------------------------

用指向指针的指针的方法对字符串和整数排序

【问题1】 用指向指针的指针的方法对5个字符串排序。 【C语言】 #include<stdio.h>#include<string.h>void sort(char **p) {int i, j, k;char *temp;for (i = 0; i < 4; i++) {k = i;for (j = i + 1; j < 5; j++)if (strcmp(*(p+k), *(p+

JavaScript中call,apply,bind方法的总结(改变this指向)

JavaScript中call,apply,bind方法的总结。 why?call,apply,bind干什么的?为什么要学这个?   一般用来指定this的环境,在没有学之前,通常会有这些问题。 var a = {user:"追梦子",fn:function(){console.log(this.user);}}var b = a.fn;b(); //undefin

Linux开发:通过readlink读取软连接指向的文件

Linux系统中经常会使用软连接指向其他目录或文件以快速方便的访问,那么如何读取软连接指向的位置呢,可以通过readlink函数: #include <unistd.h> ssize_t readlink(const char *pathname, char *buf, size_t bufsiz); 参数说明:     pathname:软连接的路径     buf:保存软连接指向路径的缓存

C++ //练习 19.8 编写一条typeid表达式检查两个Query_base对象是否指向同一类型。再检查该类型是否是AndQuery。

C++ Primer(第5版) 练习 19.8 练习 19.8 编写一条typeid表达式检查两个Query_base对象是否指向同一类型。再检查该类型是否是AndQuery。 环境:Linux Ubuntu(云服务器) 工具:vim   代码块 Query p, q;AndQuery aq(p, q);Query_base &qb1 = aq;Query_base &qb2 =