name是JavaScript的默认属性么?如果不是,该怎么理解这代码?

JS代码很简单,别的没有,全部就两句:
alert(abc);
alert(name);
第一句的反馈是'abc没有定义'
第二句显示为空
何解?

如果没有定义name 那么默认的为window.name。他是javascript自带window对象的一个属性。
[code="java"]/**

  • Property name
  • @type String
  • @memberOf Window */ Window.prototype.name = "";[/code] 除过name外还有一些例如 sttaus\defaultStatus\outerWidth等。具体可以查询下javascript 中关于window对象的相关说明文档

是dom里面的属性

[quote]问题补充:
而且我这样也显示空哦:
(funtion ttt(){alert(name);})() [/quote]
即使这样,name也不是局部变量,而是沿作用域链查找的,还是找的DOM上的属性了