试图制作一个模块。为什么函数未定义?

时间:2014-01-31 01:47:18

标签: javascript

我正在努力更好地理解JavaScript中的匿名函数和模块。我想知道为什么“测试”未定义?这是我的HTML和JavaScript:

HTML:

<div class="box">
    <p>One</p>
    <p>Two</p>
    <p>Three</p>
</div>

JavaScript:

(function (el) {

    function test () {
        this.el = el;
        console.log(this.el);
    };

    return test;

}(document.querySelector('.box')));

(function () {
    new test();
}());

1 个答案:

答案 0 :(得分:2)

如果您希望能够访问测试,可以使其成为这样:

var test = (function (el) {

    return function() {
        this.el = el;
        console.log(this.el);
    };
}(document.querySelector('.box')));

(function () {
    new test();
}());