0

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

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

第一个和最后一个变量都很好,但我不知道如何获取传递给设置的自定义函数。

4

2 回答 2

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;
};
于 2012-07-28T04:21:13.633 回答
2

您提到您尝试在“obj.fn”之后删除“()”......当我这样做时似乎有效。这是要验证的链接:http: //jsfiddle.net/TD93x/3/

于 2012-07-28T04:34:49.210 回答