<html>

    <body>
        <button id="loginBtn">登录</button>
        <script type="text/javascript">
            var createLoginLayer = function(){
                var div = document.createElement("div");
                div.innerHTML = '我是登录浮窗';
                div.style.display = 'none';
                document.body.appendChild(div);
                return div;
            };
            var getSingle = function(fn){
              console.log(this)
                var result;
                return function(){
                    return result || (result = fn.apply(this,arguments));
                }
            };
            let a = {
              getSingle: getSingle
            }
            
            var createSingleLoginLayer = getSingle(createLoginLayer);
            var createSingleLoginLayer = a.getSingle(createLoginLayer);
            document.getElementById('loginBtn').onclick = function(){
                var loginLayer = createSingleLoginLayer();
                loginLayer.style.display = 'block';
            };
        </script>
        </body>
</html>

fn.apply(this,arguments) 解释

相关文章: