出于某些奇怪的原因,当调用将this分配给thisObj的函数时,出现错误:


  TypeError:thisObj未定义


这是我得到的:

function templateObject()
{
    "use strict";
    var thisObj = this;

    function _loadBackgroundImages()
    {
        "use strict";
        // something happens here
    }


    thisObj.initialise = function()
    {
        "use strict";
        _loadBackgroundImages();
    };
}


然后使用实例化调用该函数,如下所示:

var templateObj = templateObject();
templateObj.initialise();


无法弄清楚为什么我得到错误-任何想法吗?

最佳答案

使用new

var templateObj = new templateObject();


new调用函数会将新创建的空对象作为this传递给函数,然后将其返回给templateObj

关于javascript - OOP JavaScript-此引用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17928103/

10-11 01:00