(function(){
         var window =this,wt=window.wt='a'; 
})();
alert(wt)
//--------------------------------正确de(function(){
         var window =this,window.wt='a'; 
})();
alert(wt);
//--------------------------------错误de

解决方案 »

  1.   

    弱弱的问一下前辈,为什么var window =this,window.wt='a'; 这个this后面要用,号呢?我是js菜鸟,问题很小白,见笑了,我把这个改成;好象就可以了,请前辈指教!
    (function(){
      var window =this;
      window.wt='a';  
    })();
    alert(wt);
      

  2.   

    var window =this,window.wt='a';  
    这是在定义变量吧window.wt没这样的变量
    变量中不能有点,或者说,不能直接定义“子变量”
      

  3.   

    var window =this,wt=window.wt='a';  
    这个可以是因为,变量只有wt,其后的都是赋值,当然没问题
      

  4.   

    var window =this,window.wt='a';  改成
    var window =this;window.wt='a';便可正常运行window.wt 是不符合变量声明的:
    第一个字符必须是一个 ASCII 字母(大小写均可),或一个下划线(_)。注意第一个字符不能是数字。 
    后续的字符必须是字母、数字或下划线。 
    变量名称一定不能是 保留字。第一段代码是因为wt是一个合法的变量声明“,wt=window.wt='a'; ” 是一个连续赋值语句,window.wt是在程序运行期间才被赋值的
      

  5.   


    加“,” 表示声明两个变量 一个是window 一个是wt  如:var a=0,b=1,c=2;
    window.wt='a'就成了 window的属性 wt赋值a 这个时候就不是声明了 而是一个句子 前面的“,”就要去掉 换成“;”言辞不专业 大体就是这样了 等专业人士