javascript return value of function binded as object value
<p>I can not return values bools / strings using the following convention.</p>

<p><a href="http://jsfiddle.net/eQWyY/" rel="nofollow">http://jsfiddle.net/eQWyY/</a></p>

<pre><code>&lt;input id="lol" type="text" value="ahh" /&gt;

&lt;script&gt;
function test() {
    var flag = false;
    if ($('#lol').val()) {
        alert($('#lol').val()); //"sanity check - pass"
        flag = true;
    }
    return flag;
};

function modal() {};
var m = new modal();

modal.prototype.init = function(x) {
    this.input = x;
    this.modals = {};
    this.initModalFrames();
    this.executeLogic();
}

modal.prototype.initModalFrames = function() {
    for (i in this.input) {
        this.modals[i] = {
            handle :    this.input[i].handle,
            frame :     this.input[i].frame,
            logic :     this.input[i].logic ? this.input[i].logic : null
        };
    }
}

modal.prototype.executeLogic= function() {
    var s = this;
    $.each(this.modals, function(i, o) {
        if(s.modals[i].logic != null) {
            var x = s.modals[i].logic.call();
            if(x) {
                alert('true');
            }
            else {
                //Always evaluates to false
                alert('false');
            }
        }
    });
}

m.init([
      {handle: '#handle1', frame: '#frame2', logic: function() {test();}},
]);

&lt;/script&gt;
</code></pre>

<p>The function does not seem to return anything and always evaluates to false.
What am I doing wrong here?</p>
