首页 > 其他 > 详细

this-关键字

时间:2021-01-14 20:20:44      阅读:27      评论:0      收藏:0      [点我收藏+]
this在js中是一个关键字 - 可以写在任何一个地方
在不同的地方的意思也是不一样的
1.在全局中:this代表window
 console.log(this);
 
2.在普通函数中:this代表window
 function fn(){
 console.log(this);
 }
 fn()
 
3.在事件中:this代表事件源
 document.onclick = function(){
 console.log(this);
 }
 
4.自调用函数:this代表window
 (function(){
 console.log(this);
 })()
 
5.定时器中:this代表window
 setTimeout(function(){
 console.log(this);
 })
 
6.对象的方法中:this代表当前对象
// var obj = {
// name:"zhang三",
// age:12,
// eat:function(){
// console.log("能吃");
// console.log(this);
// }
// }
// obj.eat()
 
7.箭头函数:this代表当前箭头函数所在作用域中的this
 箭头函数中的this代表箭头函数上一行代码中的this
document.onclick = function(){

// setTimeout(()=>{
// console.log(this);
// })
// }
 
总结:
1.全局:window
2.普通函数:window
3.自调用:window
4.定时器:window
5.对象方法:对象
6.事件:事件源
7.箭头函数:上一行代码的this
 

从对象方法 - this代表对象

function fn(){
     console.log(this);
 }

普通函数 - 相当于window对象的一个方法

定时器其实就是window的方法,所以定时器中的this就是window对象

window.setTimeout(function(){
//     console.log(this);
// })

 

自调用函数其实也是window的方法 - window对象

(function(){
    console.log(this);
 })()

 

全局:this
 箭头函数:上一行
 

this-关键字

原文:https://www.cnblogs.com/mrxiachongyu/p/14278983.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!