JavaScript怎么在实现的匿名函数的参数中传入数据?
之前读Angular.js教程的时候,觉得有一段代码引起了我的注意:
function PhoneListCtrl($scope, $http) {
$http.get('phones/phones.json').success(function(data) {
$scope.phones = data;
});
......
}
代码的含义不太难:用get请求了phones.json
数据,通过对success函数的实现,将响应返回的data
数据存在本地对象phones
中,我不太明白的地方是其中的data是如何传入数据的,这种写法貌似也很流行,例如jQuery的Click事件:
$("#div").click(function(eventObject){
//eventObject
});
然而我试着写一个实现也不太对劲,基础的代码是这样的:
var obj = {
someData: 101,
doSomething: function(anonymousFunction) {
// body...
}
};
obj.doSomething(function(data) {
console.log(data);
}
);
第一次在社区提问,不太懂规矩,请哪位前辈朋友指点一下具体的方法,或提点一下用到了JS中哪种特性或者设计模式,先谢过了~
按照@依云 的指点补充符合题意的写法如下:
var obj = {
data: 456,
f: function(func) {
console.log("I'll call a pass-in function with some arguments.");
func(obj.data);
console.log("after");
}
};
obj.f(function(a) {
console.log("my arguments are:", a);
});
问题是:func(obj.data);
真的是回调吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
查一下依赖注入和依赖对象吧,一两句说不清楚。