我有showProfile函数,它接受回调函数。
回调函数还有一个作为对象的段。
showProfile(call_back_fn)
调用它:
showProfile(function(obj){console.log(obj)})
我想将此函数设置为Person Object的属性:
function Person(name,age,showProfile){
this.name=name ;
this.age=age;
/*
this.showProfile=showProfile ???
OR
this.prototype.showProfile=showProfile ???
OR What ??
*/
return this;
}
然后,创建一个Person对象:
var p=new Person('Abdennour',23,fnshowProfile);
如何将此函数(showProfile)作为对象属性。如果可能,如何传递其参数(哪个是回调函数)?
然后,如何拨打上面代码段中的fnshowProfile
。
更新
OtherWise,如果我创建一个Person对象,如下所示:
var p=new Person('Abdennour',23,showProfile());
如何访问showProfile以添加回调函数作为参数:
然后,我如何从p
对象执行showProfile。
答案 0 :(得分:0)
是的,我发现了:
演示:http://jsfiddle.net/abdennour/5vNQ5/
callbackshowProfile=function(obj){
alert(obj['field1']);
}
showProfile=function(cfn){
cfn();
}
function Person(name,age,shfn,callback){
this.name=name;
this.age=age;
this.shfn=shfn;
this.callback=callback;
return this;
}
创建一个Person对象:
var pp=new Person('Abdennour',13,showProfile,callbackshowProfile)
调用具有回调函数作为参数的showProfile,其中有一个对象作为参数。
pp.shfn(pp.callback.bind(null,{field1:'My field 1'}))