请教一个window的问题

var msg = {};
window.msg = msg;
var chat = chatService = {
    send:funtion(){
        msg[msg.id] = xxx;//这里操作的msg是window上的msg吗
    }
}
阅读 1.4k
2 个回答

对啊,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,主要原理是闭包

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题