(function(){  var  x = c =  b = {a:1} })()console.log(x) // err: x is not definedconsole.log(c, b) // {a:1}, {a:1}这么诡异的行为是因为赋值语句的毛病吗,b和c都被放到全局去了。求真相!!
                    
                    
                2 回答
 
                    
                    
                            慕姐4208626
                            
                                
                            
                        
                        
                                                
                    TA贡献1852条经验 获得超7个赞
因为你没在IIFE这个作用域里定义b和c,那么查询时会去上层作用域找变量,如果一直找到全局作用域里都没有,那么他们默认会被赋值给window对象,就像下面
window.b = window.c = {a:1}添加回答
举报
0/150
	提交
		取消
	
