是调用cb时候的this,对于这种情况下,就是全局对象了,strict模式下好像是undefined吧,如果你传入一个bind以后的cb,这个this应该就是bind调用是传入的上下文了,比如:var obj = {}var arr = [12,123]var cb = (function(){console.log(this)}).bind(obj)var arr2 = arr.map(cb)楼主可以试一试,如果不明白的话,好好看一下js中this值的变化吧!推荐一本you dont konw js,我觉得是我看过的js语法讲的最好的书了不好意思没看太清,楼主问的是传入的this,这个其实就是代替我了上边的那个bind调用,因为一个函数在类似cb这种情况下调用,很多时候this都是指向全局的(例外的有事件处理函数),如果你传入第二个this参数,那么,你的cb中的this就指向了第二个参数,其实就是和传入一个bind之后的函数一个作用。