iteye_3775 2010-06-30 14:10
浏览 296
已采纳

对JavaScript异常里finally的不解?

下面是对异常的一个测试例子,可是我对里面的finally有不解之处,finally在return之前执行,可是为什么没有给str赋值为null呢?

[code="JavaScript"]
var f = (function(){
var str = "before";
try{
return str;
}
finally{
str = null;
}
})();
alert(f);//in browser show: before
[/code]

  • 写回答

1条回答 默认 最新

  • OPPPPOP 2010-06-30 15:24
    关注

    finally 里有reutrn break continue throw 时会在return 之前执行
    否则在return 后执行
    [code="javascript"]
    var f=(function(){

    var str = 'before';

    var i=1//0;
    while(true){
    try{
    return str;
    }

    finally{
    str = null;

    if(i--)continue;
    }
    }
    })();

    alert(f);
    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 在edge和chrome浏览器,怎么在新标签页打开链接
  • ¥20 search.asp突然无法搜索,之前能搜索
  • ¥15 c#如何使用scottplot给已画好的自定义热度图,增加一个一定的colorbar
  • ¥15 信贷平台.用户信用评估和风险评估怎么做,希望来个做过的Java.有合作的机会
  • ¥15 IMageEN获得图形顶点坐标的问题
  • ¥50 软件PC客户端抓包,获取http请求和响应
  • ¥15 手机被安装黑客软件怎么办?
  • ¥15 Windows C++ PaddleOcr 中文模型的训练方法
  • ¥15 c# 用scottplot画 以时间为纵坐标,数值为横坐标画曲线图
  • ¥15 手机应用程序安装异常