Javascript:提取 对象的方法作为高阶函数的参数 要注意的
2014-04-30 17:41
549 查看
函数体是谁调用的,this 就指向谁
//提取对象的方法作为函数
var buffer = { entries:[], add:function(s) { this.entries.push(s); }, concat: function() { return this.entries.join(""); } }; function a(fn,a){ fn(a); } var f = buffer.add;//提取 add 方法 a(f,"abc"); //出错 。函数f 中的 this 指向的是 global 对象 a(buffer.add,"efg") //出错,这里的 buffer.add 是一个函数 调用这个函数的是 global 对象 console.log(buffer.add === buffer.add.bind(buffer));// false ,记住 buffer.add.bind(buffer) 创建了一个新函数,this指向 buffer console.log(buffer);
相关文章推荐
- javascript中方法作为参数来处理(自定义方法对象)
- c# - 外部对象作为参数调用方法时需要注意的问题
- 对象作为方法的参数进行连续传递一
- JavaScript中以一个方法作为参数的写法
- JavaSE8基础 多态扩展性 父类引用作为函数参数,调用所装子类对象的重写方法
- 【java】值传递和引用传递---对象作为方法的参数传入属于哪种传递
- javascript 使用方法名作为参数
- javascript 利用匿名函数对象给你异步回调方法传参数
- 对象作为方法的参数进行连续传递二
- Objective-C - 对象作为方法的参数
- JavaScript - 在函数中修改参数值、用对象实例作为参数传递修改参数
- js中将URL中的参数提取出来作为对象的实现代码
- 反射获取方法名及参数名,反射获取参数作为对象使用
- 对象作为方法的参数进行连续传递三
- 类对象及类成员函数作为函数参数的方法
- (对象类作为参数的方法)
- java学习笔记(四)----对象、数组作为参数传递,静态变量、静态方法的使用,内部类,使用文档注释
- js 获取函数的所有参数和遍历JavaScript某个对象所有的属性名称和值的方法
- CComPtr对象作为参数进行 1.值传递 2.引用传递 3.做为返回值的注意事项
- javascript委托的实-现 以带参数的函数作为参数的解决方法