JS中的IIFE和对象

时间:2013-10-10 13:52:12

标签: javascript class iife

尝试这样做

/*Javeline Javascript simple forum API by Makerimages v1.0*/

(function(){

    Javeline={};
    alert("hia");
    Javeline.isNameSpace=true;
    alert("hia");
    Javeline.toString= function() { return "Javeline"; };

    Javeline.Application=Application();
    Javeline.Application.create();
    alert("appmade");

}());

function Application()
{
    function create()
    {
        Javeline.Application=this;
        alert(Javeline.Application);
    }
}

为什么代码不能运行Javeline.Application.create()

toString也会在=

之后返回该行的所有内容

1 个答案:

答案 0 :(得分:0)

这可能是你想要的:

Javeline.Application=new Application();

//....

function Application()
{
    this.create = function()
    {
        Javeline.Application=this;
        alert(Javeline.Application);
    }
}

只是调用Application将返回undefined,因为该函数没有return语句。使用new关键字调用它会为您提供一个新对象。但是,要将函数create作为属性添加到此新对象,您必须在this内将其声明为create的属性。