别发连接吧 说说自己的理解就好..............
<script>
alert(cccc);
// var cccc = 33333;
</script>//-------------------------------------------去掉注释 和 不去掉注释的结果不同 为什么了
<script>
function xx(){
alert(name)
alert(age)
}
xx();
</script>//--------------------------------------------name和age都不是js的关键字也不是保留字 但是为什么结果不一样了<script>
var t = 1;
function xx(){
alert(t);
// var t =2;
}
xx();
</script>//------------------------------------------------去掉注释 和不去掉注释的结果也不一样 why
<script>
alert(cccc);
// var cccc = 33333;
</script>//-------------------------------------------去掉注释 和 不去掉注释的结果不同 为什么了
<script>
function xx(){
alert(name)
alert(age)
}
xx();
</script>//--------------------------------------------name和age都不是js的关键字也不是保留字 但是为什么结果不一样了<script>
var t = 1;
function xx(){
alert(t);
// var t =2;
}
xx();
</script>//------------------------------------------------去掉注释 和不去掉注释的结果也不一样 why
aa=3;
function test(){
alert(aa);
var aa//=5;
}
test()
alert('name' in window);
如果颠倒顺序,那么 undefined 是必然滴!当然,如果连 var 都没有的话,运行时异常就出来了!至于 alert(name); 其实就是 alert(window.name); // 这样就清楚多了!
另,window 属性和对象都可以直接调用,但不推荐这么写,最好加上 window!window 属性列表:
closed 获取引用窗口是否已关闭。
defaultStatus 设置或获取要在窗口底部的状态栏上显示的缺省信息。
dialogArguments 设置或获取传递给模式对话框窗口的变量或变量数组。
dialogHeight 设置或获取模式对话框的高度。
dialogLeft 设置或获取模式对话框的左坐标。
dialogTop 设置或获取模式对话框的顶坐标。
dialogWidth 设置或获取模式对话框的宽度。
frameElement 获取在父文档中生成 window 的 frame 或 iframe 对象。
length 设置或获取集合中对象的数目。
name 设置或获取表明窗口名称的值。
offscreenBuffering 设置或获取对象在对用户可见之前是否要先在屏幕外绘制。
opener 设置或获取创建当前窗口的窗口的引用。
parent 获取对象层次中的父窗口。
returnValue 设置或获取从模式对话框返回的值。
screenLeft 获取浏览器客户区左上角相对于屏幕左上角的 x 坐标。
screenTop 获取浏览器客户区左上角相对于屏幕左上角的 y 坐标。
self 获取对当前窗口或框架的引用。
status 设置或获取位于窗口底部状态栏的信息。
top 获取最顶层的祖先窗口。 window 对象列表:
clientInformation 包含关于 Web 浏览器的信息。
clipboardData 提供了对于预定义的剪贴板格式的访问,以便在编辑操作中使用。
document 代表给定浏览器窗口中的 HTML 文档。
event 代表事件状态,如事件发生的元素,键盘状态,鼠标位置和鼠标按钮状态。
external 允许访问由 Microsoft® Internet Explorer 浏览器组件宿主应用程序提供的附加对象模型。
history 包含了用户已浏览的 URL 的信息。
location 包含关于当前 URL 的信息。
navigator 包含关于 Web 浏览器的信息。
screen 包含关于客户屏幕和渲染能力的信息。
-----<摘自ActiveScript3.0编程手册>
关于"变量提升"
程序中任何位置 声明的变量 都会自动提升到程序前边..但不会提升赋值...所以提升上来的变量都有一个默认的值--undefind..
所以代码alert(cccc);
var cccc = 33333;
提升后变为:
var cccc;// 声明
alert(cccc)
cccc=33333; //赋值
function xx(){
alert(t);
// var t =2;
}
xx(); 这个忘说了..如果是在函数中声明的变量就只提升到函数的顶部;如果去掉注释相当于
var t=1;
function xx()
{
var t;
alert(t)
t=2
}