js弹开页面并调用方法

每次重新写一个功能的时候,都能发现以前写的并不太好,都可以改进,奇怪的是我还是我,为什么曾经的我就想不起来要这么写,比如下面两段代码

历史代码:

if (infoTablePage != null) { /*对象不为空,那肯定是这里主动创建的,分为【依然是打开的】和【已经关闭掉】两种状态*/
    if (infoTablePage.closed) {
        infoTablePage = window.open(pageurl + '?sceneid=' + value.id, pagename);
    } else {
        infoTablePage.openedPage2serchScene(value.id);
        infoTablePage.focus();
    }
} else { /*对象为空,但是监控页面也有可能是打开的状态,那么分为【打开】和【未打开】两种状态,打开就获取打开的页面*/
    infoTablePage = window.open('', pagename);
    if (infoTablePage.openedPage2serchScene) {
        infoTablePage.openedPage2serchScene(value.id);
        infoTablePage.focus();
    } else {
        infoTablePage = window.open(pageurl + '?sceneid=' + value.id, pagename);
    }
}

如今重新利用这个功能,发现可以这么写:

/*对象为空,但是监控页面也有可能是打开的状态,那么分为【打开】和【未打开】两种状态,打开就获取打开的页面*/
if (infoTablePage == null) {
    infoTablePage = window.open('', pagename);
}

/*如果获取到了页面,就调用页面的初始化台站的方法,否则就不会有方法可以调用,需要打开这个页面*/
if (infoTablePage.openedPage2serchScene && !infoTablePage.closed) {
    infoTablePage.openedPage2serchScene(value.id);
    infoTablePage.focus();
} else {
    infoTablePage = window.open(pageurl + '?sceneid=' + value.id, pagename);
}
原文地址:https://www.cnblogs.com/LcxSummer/p/10255844.html