我正在创建一个新的对象变量并将一个对象作为参数传递:
var obj = new test({
first : $('#fname').val(),
last : $('#lname').val(),
fn : function() {
alert(this.first + " " + this.last);
}
});
创建上述变量时,这是被调用的函数:
var test = function(obj) {
this.fn = function() {
alert("No custom function was made.");
}
this.first = obj.first;
this.last = obj.last;
if(obj.fn)
this.fn = obj.fn(); //I also tried it without the '()' after 'obj.fn'
};
第一个和最后一个变量很好,但我无法弄清楚如何获得传递的自定义函数。
答案 0 :(得分:2)
它对我有用
var test = function(obj) {
this.fn = function() {
alert("No custom function was made.");
}
this.first = obj.first;
this.last = obj.last;
if(obj.fn)
this.fn = obj.fn;
};
答案 1 :(得分:2)
你提到你试图在'obj.fn'之后删除'()'......当我这样做时似乎有效。以下是验证链接:http://jsfiddle.net/TD93x/3/