JS 怎么让回调函数内部this指向undefined?

我的目标是让回调函数内容的this指向undefined,但call方法传入null或undefined时无需,回调函数内部this指向任然是window对象,烦请大神指教下。

另外如果能强制回调函数内部 使用严格模式也行...如何实现?或者说能否实现呀?

阅读 4k
4 个回答

如下这段代码

var f = function(){
  console.log(this);
}
f.call(undefined);

严格模式下:
输出 'undefined'

非严格模式下,
输出 全局对象

严格模式下,指向全局对象的就会指向undefined。

看了评论,有点不理解你的意思了...
严格模式默认就是undefined,如下

function a(call){
  call()
}
function b(){
  'use strict'
  a(function(){console.log(this)})
}
b()

严格模式默认就是 undefined,非严格是 window 对象。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题