如何在javascript中设置传递的函数

时间:2012-07-28 04:14:44

标签: javascript jquery object

我正在创建一个新的对象变量并将一个对象作为参数传递:

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'
};

第一个和最后一个变量很好,但我无法弄清楚如何获得传递的自定义函数。

2 个答案:

答案 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/