js 中的 try/catch
                        程序开发
                        2023-09-22 18:28:52 
                    
                    先看一段代码吧,觉得这个会输出多少?
function test(){ 
 var i = “0”; 
 try{ 
 i += “1”; 
 return i; 
 } 
 catch(e){} 
 finally{ 
 i += “2”; 
 } 
 return i; 
 } 
 console.log(test());
“012”?根据java中的用法描述,finally中的代码一定会执行的?
但实际结果是这样的,[黑人问号]
在中间在打一个输出,会发现确实是执行了,但是为何不是我们想要的结果?
在try/catch中 当try中存在 return continue break 等语句时,会先将其返回值存储在一个局部变量中,在去执行finally中的语句,所以虽然在 finally中i确实发生了改变,但是最后返回的并不是 在finally中改变了的i值,而是储存在局部变量中的i值
标签:
                            上一篇:
                             ASP.NET Core  SignalR系列之Hub教程
                                                        下一篇:
                                                    
                        相关文章
- 
                    			无相关信息                            
 
