Javascript 在函数中存储值

Javascript 在函数中存储值,javascript,jquery,websocket,Javascript,Jquery,Websocket,我有这个功能,可以处理通过websocket从服务器返回的数据。根据您所处的页面,数据的处理方式会有所不同 sock.onmessage = function (e) { log(e.data); } function returnCurrentPage(m) { if (helpers.getCurrentPage() === '#builddetail_page') { // For the builddetailpage var stepL

我有这个功能,可以处理通过websocket从服务器返回的数据。根据您所处的页面,数据的处理方式会有所不同

sock.onmessage = function (e) {
    log(e.data);
}

function returnCurrentPage(m) {
    if (helpers.getCurrentPage() === '#builddetail_page') {
        // For the builddetailpage
        var stepList = $('#stepList > li');
        return realtimePages.buildDetail(m, stepList);
    }
    if (helpers.getCurrentPage() === '#builders_page') {
        var tableRowList = $('.tablesorter-js tbody > tr');
        return realtimePages.buildersPage(m, tableRowList);
    }
}

// Data to be parsed
function log(m) {
    returnCurrentPage(m)
};

我的问题是每次调用log()时,returnCurrentPage()也是如此。如何从日志()中存储的returnCurrentPage()获取返回值?因此,我不必每次运行log()时都运行returnCurrentPage()。

您能将返回的值保存在localStorage中吗

sock.onmessage = function (e) {
    log(e.data);
}

function returnCurrentPage(m) {
    if (helpers.getCurrentPage() === '#builddetail_page') {
        // For the builddetailpage
        var stepList = $('#stepList > li');
        return realtimePages.buildDetail(m, stepList);
    }
    if (helpers.getCurrentPage() === '#builders_page') {
        var tableRowList = $('.tablesorter-js tbody > tr');
        return realtimePages.buildersPage(m, tableRowList);
    }
}

// Data to be parsed
function log(m) {
    if( localStorage.returnPage === undefined )
        localStorage.returnPage = returnCurrentPage(m)
};

您可以将记录的值存储在全局变量中,并根据需要清除它

我更新了问题:)你能更精确一点吗?我只能让它使用带引号的“undefined”,但每次执行log()时它仍然运行returnCurrentPage()