当前位置: 首页 > Web前端 > HTML

问题37:告诉我你知道这指向什么?

时间:2023-04-02 12:29:14 HTML

this的方向不是在创建时就确定的,而是由执行环境决定的,包括全局环境、对象环境、构造函数环境、事件对象全局环境。在全局环境中,this代表窗口对象varname='xiaoming';函数say(){console.log(this.name);}say();//xiaomig对象环境对象环境指向对象varobj={name:"xiaoming",say:function(){console.log(this.name);}}obj.say();//xiaoming构造函数环境中的this构造函数会指向创建的实例对象functionPerson(){this.name='xiaoming';}varp=newPerson();console.log(p.name);//xiaoming事件对象在DOM事件中使用this,this指向触发事件的DOM元素本身通过call()、apply()、bind()改变this的指向。箭头函数中的这个怎么样?箭头函数体中的this对象是函数定义作用域指向的对象,而不是函数使用作用域指向的对象。箭头函数本身没有this指针。如果使用this,则指向上层函数(不是箭头函数)这个箭头函数声明的构造函数不能被newvarname='window';varA={name:'A',sayHello:()=>{console.log(this.name)}}A.sayHello();//我还以为输出的是A?错了,其实window这里输出的是箭头函数,也就是sayHello,作用域其实是最外层的js环境,因为没有其他的函数包;那么最外层的js环境指向的对象就是winodw对象,所以这里的this指向window对象引用JS中----this的指向以及如何修改this指向ES6的箭头函数,this指向详解文章的内容/灵感都是借用下面的内容【持续维护/更新500+前端面试题/笔记】https://github.com/noxussj/In..【大数据可视化图表插件】https://www.npmjs.com/package...【使用THREE.JS实现3D城市建模(珠海市)】https://3d.noxussj.top/