underscore context

原来在underscore中,cb函数时非常重要的,牵扯到的其他函数也是比较的多,比如工具函数_.each,_.map等等都有用到这个,其中还包含了许多的其他工具函数,但是当我们用到context的情况并不多,我开始还以为context表示的是执行函数的上下文,然后在敲击代码时发现,一旦我们使用es6中的箭头函数的时候,context就不那么好使了,有可能出现其他问题了,然后开始我将使用_.map来遍历一个对象,然后指定的context为另一个对象,但是通过迭代函数输出的值仍然是我遍历的对象的值,而不是context指定的对象的值,原来这只是改变的是this指向,并不会对其原本的值进行改变比如:

var a = {name:'张三'};
var b = {name:'李四'};
_.map(a,function(){console.log(this.name)})
>张三
_.map(a,function(){console.log(this.name)},b);
>李四

原来context的用法是这个样子的

百度未收录
分享