首页 > 其他分享 >奇怪的this

奇怪的this

时间:2023-04-20 16:24:18浏览次数:35  
标签:obj 指向 作用域 awesome id 奇怪 cool

        var obj = {
            id: "awesome",
            cool: () => {  // 向上寻找this,js会自动为function的作用域创建this指向function本身,箭头函数除外
                console.log(this.id);
            }
        };
        var id = "not awesome";
        obj.cool();  // not awesome
        setTimeout(obj.cool, 1000);  // not awesome

obj.cool() 执行调用时,this本应该指向obj,但是因为cool是用箭头函数声明的,所以cool本身绑定了词法作用域,也就是声明时的this,cool被声明时作用域上层并没有其他函数,所以this指向window。

标签:obj,指向,作用域,awesome,id,奇怪,cool
From: https://www.cnblogs.com/ran2022/p/17337257.html

相关文章

  • 奇怪的BUG
        在我使用一个MFC程序来打开一个MESH时,总是出现弹出错误。    但我在MFC程序初始化时就指定显示一个MESH时,却OK。     问题在哪里呢?     经过一番调试,发现问题是在用CDialog打开文件后,CurrentDir被更改了,这就导致了无法正确导入模型。所以,在打开文件后,要......
  • mysql5.7奇怪bug
          看这个查询很奇怪,1145就错,子查询返回多于 1 行。。。 1就对。1145跟1144都不行,1143可以。更新为0 ,是正常执行的    1145也只有一条......
  • 奇怪现象,父类构造函数中的赋值子类无法取得
    实战中这样的类,Shize保持了原始值,但单元测试,又是好的,很奇怪。publicabstractclassGrandPa{protectedintNothing;protectedGrandPa(intnothing)=>Not......
  • 用TS封装Axios遇到的奇怪问题
    按照王红元课程中的代码去封装,出现这个错误。//一、实例拦截器:从config中取出的拦截器是对应的实例的拦截器this.instance.interceptors.request.use(this.......
  • WriteFile 奇怪的现象
    项目中有个需求是要对文本内容检索并重写,我们使用的是WriteFile覆盖旧的文本内容最小示例:#include<Windows.h>#include<iostream>intmain(){HANDLEhFile......
  • 遭遇奇怪的问题:所有 ASP.NET Core ViewComponent 都输出为空
    3月9日晚上的一次发布中遇到一个非常奇怪的问题,发布前在staging环境测试正常,发布到生产环境后发现所有ViewComponent都输出为空(没有任何内容)。生产环境与staging环......
  • 奇怪网站收录
    前端序号网址说明1.https://webgradients.com/webgradients:一个渐变色的css取色站2.https://www.fontke.com/tool/rgb/2,155,215颜色查询以及修改3.......
  • JS 扩展构造树形结构数据方法遇到的奇怪bug,object键值赋值失败
    原方法:/***构造树型结构数据*@param{*}data数据源*@param{*}idid字段默认'id'*@param{*}parentId父节点字段默认'parentId'*@param{*}chil......
  • Linux 比较奇怪的docker启动报错,原因暂时不清楚
          Linux比较奇怪的docker启动报错,竟然和iptables有关系我是在虚拟机上偶然发现的,在虚拟机上安装了lnmp环境后,经过一番实验,lnmp下的安装已经基本达到目的,想......
  • linux|奇怪的知识---linux权限管理之数字权限和字母权限
    前言:linux的权限管理是比较复杂的,主要原因是linux系统是一个多用户的并且是一个多种权限的权限系统。基本权限有:读,写,执行。特殊权限有:SUID,SGID,SBIT,隐藏权限a i用户:超级用......