<body>
<input type="button" name="Button" value="Button" onclick="aaa(this)"/><script language="javascript">
var obj;
function aaa(o){
obj=o;
window.setTimeout("bbb(obj)",500);
}function bbb(o){
alert(o.value);
}
</script>
</body>
<input type="button" name="Button" value="Button" onclick="aaa(this)"/><script language="javascript">
var obj;
function aaa(o){
obj=o;
window.setTimeout("bbb(obj)",500);
}function bbb(o){
alert(o.value);
}
</script>
</body>
解决方案 »
- JS做分页跳转问题
- 怎么把javascript动态生成的行和列封装到数组中并获得动太生成的行和列的数据和限制动太生成的行数?
- 100分求一右键菜单运行js插件的参数设置
- 出现Microsoft JScript 运行时错误: 对象不支持此属性或方法
- 求页面刷新时保持不变的导航菜单代码!!!!!!
- HTML中的select选定后触发什么事件?是onselect吗?
- 如何通过js脚本获取系统的默认字体名称
- 怎么在网页中判断用户是否安装了客户端软件???
- javascript中如何得到一个字符串长度
- 奇怪我的自动转页为什么不成功?
- 在jscript 中如何限制回车事件的频率啊,高手来来!
- 如何卸载tabcontainer中的页面?
function aaa(o){ var obj=o;
window.setTimeout("bbb(obj)",500);
}function bbb(o1){
alert(o1.value);
}为什么var定义obj就不行,但是去了就可以啊
而是你全局变量和局部变量混淆了
<script language="javascript">
var obj;//全局变量
function aaa(obj){
window.setTimeout("bbb(obj)",500);//500毫秒后执行bbb(obj),而执行这句的时候相当于是在
//函数体外面执行的,所有此时的obj引用的是全局变量的那个,而js不检查全局变量跟局部变
//量同名情况,在局部引用则引用局部变量(如果不存在再找全局变量),全局变量obj虽然已
//经定义,但是一个空变量,传给bbb函数后alert(obj.value)则会是undefined
}function bbb(obj){
alert(obj.value);
}
</script>
var obj;//全局变量
function aaa(obj){
bb(obj)
function bbb(obj){
alert(obj.value);
}
</script>
这样就可以为什么window.setTimeout("bbb(obj)",500);这样就不行,浪花给你加分帮看看啊,
你说的我不是很明白
var obj;//全局变量
function aaa(obj){//传进来的参数(局部变量)
bb(obj);//1.引用不是全局变量,而是参数
function bbb(obj){//1.引用不是全局变量,而是参数
alert(obj.value);//1.引用不是全局变量,而是参数
}
alert(obj.value);//2.引用全局变量
</script>
-------------------------------------
<script language="javascript">
var obj;//全局变量
function aaa(obj){//传进来的参数
window.setTimeout("bbb(obj)",500);//0.5秒后执行bbb(obj),执行的时候已经不是在aaa函数
//里了,而是跟上面"2.引用全局变量"类似
}
</script>