javascript 闭包问题
<script type="text/javascript">
var name = "The Window";
var object = {
name : "My Object",
getNameFunc : function(){
return function(){
return this.name;
};
}
};
alert(object.getNameFunc()()); //执行后的结果为:The Window
</script>
请教高手执行后的结果为什么会是The Window?
this指向的是window对象
楼上正解.不过我详细给你说明下好了
JScript code:
var name = "The Window";
var object = {
name : "My Object",
getNameFunc : function(){
return function(){ //如果这里直接return this.name,那得到这个return的handle是object
//对象,名字就是"My Object",但是你return了个function,所以下面调用的时候相当于是
//执行了window.getNameFunc()(),这里传入进去this就变成window的name对象,也就是全局变量
//"The Window.
return this.name;
};
}
};
alert(object.getNameFunc()()); //执行后的结果为:The Window
多谢高手的指教,csdn上的牛人真多!
var name="The Window";
var
相关问答:
比如有一个textbox,用户输入后点button按钮时,实现用JavaScript对textbox输入信息的验证,比如验证用户输入的是否是数字。
希望将HTML代码一并写出来哈,谢谢。
HTML code:
<!DOCTYPE html PUBLIC &quo ......
这是我的文本框
<input type="text" size="60" name="password_answer" id="pwdanswer" value="$!password_answer" >
提交按钮
<input clas ......
HTML code:
<input type="button" value="11" onclick="test()" />
<tr>
<td >123</td>
<td>33</td>
</tr>
......
HTML code:
<div>
<script type="text/javascript">
swfUrl="http://www.ndnews.cn/spnd/UploadFiles_7567/vod/news/090603/宁德市总工会慰问六一节 农民工子女.flv"
swft ......