Javascript 函数不会被调用

Javascript 函数不会被调用,javascript,Javascript,我正在处理以下javascipt文件 var utility = (function () { var i = 1; return { nameGen: function () { var name = "Number Of Candidate:" + i; i = i + 1; return name; } } } ()); var name1 = util

我正在处理以下javascipt文件

var utility = (function () {

    var i = 1;
    return {

        nameGen: function () {
            var name = "Number Of Candidate:" + i;
            i = i + 1;
            return name;
        }
    }


} ());

var name1 = utility.nameGen();
var name2 = utility.nameGen();
var name3 = utility.nameGen();

我正在从我的html调用上面的javascript代码,但它不起作用?

像这样关闭函数:

}) ();
我在这里运行了它(使用Firefox 29和Chrome 34.0.1847.131以及Internet Explorer 9),并添加了
console.log()
调用以输出结果-

var utility = (function () {
    var i = 1;
    return {
        nameGen: function () {
            var name = "Number Of Candidate:" + i;
            i = i + 1;
            return name;
        }
    }
} ());

var name1 = utility.nameGen();
var name2 = utility.nameGen();
var name3 = utility.nameGen();
console.log(name1);
console.log(name2);
console.log(name3);
我得到了输出

Number Of Candidate:1
Number Of Candidate:2
Number Of Candidate:3

如果您想编写OOP JS,您应该执行以下操作:

function Utility() {
    this.candidates = 1;
    this.nameGen = function () {
        var name = 'number of candidates' + this.candidates;
        this.candidates++;
        return name;
    }
}

var utility = new Utility();
utility.nameGen(); // outputs "number of candidates1"
utility.nameGen(); // outputs "number of candidates2"
utility.nameGen(); // outputs "number of candidates3"

您可以阅读有关OOP JS的更多信息。

任何一种形式的自执行符号都是可以接受的。在任何一种情况下,都会使用字符串填充变量。与Firebug控制台中一样,工作正常<代码>应聘者人数:1
应聘者人数:2
应聘者人数:3
你期望得到什么样的结果?jsFiddle:可以。。