var msg = {};
window.msg = msg;
var chat = chatService = {
send:funtion(){
msg[msg.id] = xxx;//这里操作的msg是window上的msg吗
}
}
###对啊,msg在这里作为变量名,就是window上的msg。
var chat = {
send: function(){
console.log(msg === window.msg) //true
console.log(this === window) //false
msg[1] = 3;
}
}
window作为全局对象,即使你不写window.msg = msg;
,浏览器也会自己将msg默认为window的属性的。
是window的msg,主要原理是闭包