调用存储在文字符号对象中的变量

Ste*_*ley 7 javascript jquery function

我有这个文字符号对象(拿出不相关的部分):

var work = {
"display": function displayWork(){
    for(i in work.jobs){
        $('#workExperience').append(HTMLworkStart);

        var formattedEmployer = HTMLworkEmployer.replace('%data%', work.jobs[i].employer);
        var formattedTitle = HTMLworkTitle.replace('%data%', work.jobs[i].title);
        var formattedEmployerTitle = formattedEmployer + formattedTitle;
        var formattedWorkDates = HTMLworkDates.replace('%data%', work.jobs[i].dates);
        var formattedWorkLocation = HTMLworkLocation.replace('%data%', work.jobs[i].location);
        var formattedWorkDescription = HTMLworkDescription.replace('%data%', work.jobs[i].description);

        $('.work-entry:last').append(formattedEmployerTitle);
        $('.work-entry:last').append(formattedWorkDates);
        $('.work-entry:last').append(formattedWorkLocation);
        $('.work-entry:last').append(formattedWorkDescription);
    }
}
};
Run Code Online (Sandbox Code Playgroud)

我试过用它调用它:

work.display.displayWork();
displayWork();
$(work.display).displayWork();
Run Code Online (Sandbox Code Playgroud)

这些都没有奏效.我如何调用此功能?

如果我将函数放在文字符号对象之外,那么我可以将其调用为:

displayWork();
Run Code Online (Sandbox Code Playgroud)

nnn*_*nnn 4

像这样:

work.display();
Run Code Online (Sandbox Code Playgroud)

对象workdisplay属性指的是函数。

因为您的函数是使用函数表达式创建的,所以该名称displayWork只能在函数内部使用,因此如果该函数不需要(递归地)调用自身,您可以选择省略该名称并只说display : function() { ... }