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)
只是查找方便的总结