this指向
- 全局this 指向window
console.log(this);
-
普通函数中this 非严格模式下指向window,严格模式下指向undefined
function fn(){ console.log(this); } fn();// window || undefined var obj={ a:function(){ function fn1(){ console.log(this) } fn1(); } } obj.a();// window || undefined document.addEventListener("click",clickHandler); function clickHandler(e){ function fn2(){ console.log(this);// window || undefined } fn2(); }
-
回调函数中的this
1)普通回调函数非严格模式时,this指向window,严格模式时this执行undefined
function fn(f){ f(); } function fn1(){ console.log(this)// window || undefined } fn(fn1); var o={ init:function(){ // setTimeout(function(){ // console.log(this)// window || undefined // },1000) [1,2,3].forEach(function(item){ console.log(this);// window || undefined }) } } o.init();
(2)在使用回调函数时,利用argumentsn这样的方式执行了回调后,回调函数中this指向调用该回调函数上下文环境函数中arguments
function fn(f){