var getSingle = function(fn) {
var result;
return function() {
return result || (result = fn.call(this));
//这个fn.call(this)的this是指向哪,是不是看他是那里调用
//指的就是createLoginLayer这个对象???
}
}
var createLoginLayer = function() {
var div = document.createElement("div");
div.innerHTML = "我是登录浮窗";
div.style.display = "none";
document.body.appendChild(div);
return div;
}
var createSingleLoginLayer = getSingle(createLoginLayer);
document.getElementById("loginBtn").onclick = function() {
var loginLayer = createSingleLoginLayer();
loginLayer.style.display = "block";
}
this是当前上下文
好好读读 MDN
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/this