JavaScript的this指向

1、结论:js中的this 是当前方法所属的对象

 

'use strict'
let obj = {
  name:'taotao',
  myName(){
     return this
  }  
}

console.log(obj.myName())   // {name: 'taotao', myName: ƒ}


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

//直接调用非严格模式下输出 window,严格模式下 undefined   
show();

//如果把函数挂载到一个对象上,this 是这个对象
let arr = [1,2,3]
arr.fn = show;
arr.fn()   // [1,2,3,fn]


//放到定时函数上,是Windows
setTimeout(show,1111)

//使用call指定,当前的this
let str1 = 11111
show.call(str1)


//自定义循环函数
let arr2 = [1,2,3,4,5,6]
arr2.selfFunc = function(callback,other){
for(let i = 0 ;i<this.length;i++){
    callback.call(other, arr2[i]);
}
    
}


arr2.selfFunc(function(val){
    console.log(this, val) 
},9999)

 

 

 

posted on 2022-11-24 17:01  totau  阅读(5)  评论(0编辑  收藏  举报

导航