javascript语言啥情况下用try比用if好?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript语言啥情况下用try比用if好?相关的知识,希望对你有一定的参考价值。

最近在看一本书,书中对try举例,让用户输入一个数字然后求出平方根,如果输入的数字不正常弹出提示:<br>var ans = promapt("Enter a number","");<br>try<br> if (!ans || isNaN(ans) || ans<0)<br> throw new Error("Not a valid number");<br> <br> alert("the square root of " + ans + "is" + Math.sqrt(ans));<br><br>catch(errMsg)<br> alert(errMsg.message);<br><br>我是新手,但是这个例子,在判断输入数字是否正常时为什么不用if呢,if不是更好点吗?<br>能不能有人举个例子,体现出tyr比if更好的情况的例子。或者能举出只能用try不能用if的例子更好。看到网上有人说“try catch的代价比较大,用来处理低概率的异常事件可以”,就更费解为什么不用if判断出错就好了?<br>求大牛指点,我只有20财富,全给了。

参考技术A 你的例题只是演示用:
if是在可明确并且判断分支较少的
逻辑判断
下使用更好;
try是指异常情况下进行的操作,通常在不可预知的情况下使用更好;
如果在明确判断的情况下使用try
也是可以的,只要符合语法标准,但效率较低;
参考技术B 这个例子应该仅仅是对try
catch的用法说明,本身不具备参考性,实际上异常不是什么时候都能判断出来的,而且try里面的逻辑很多的时候,并不是所有情况都可以判断到的,何况过多的判断本身也影响效率
参考技术C 因为
isNan('字符')
会抛出js异常信息,所以用trycatch(e)
会拦截到错误信息。
在什么情况下用trycatch(e):
当你的代码中含有不确定的逻辑处理和类型转换的时候,建议使用
参考技术D javascript用于对页面的处理,如:动态添加页面的样式、页面间传值取值、页面的特效等

javascript与其他语言配套的用会更好。

以上仅供参考!

SQL中啥情况下用引号

除了数字类型为都应该用引号,如日期就应该用引号 '2012-12-12'
数字类型:bigint bit decimal float double money numric real smallint tinyint
其他都应该加引号
如果变量是字符串类型,但要给它赋值时是数字的,可以不加引号,为了规范性,还是要用双引号
bit类型比较特殊,如果用脚本写的话,用1表示值,用0表示假,所以也可以不用双引号
如果变量是数字类型的,那给他赋值可以加双引号,但没有那个必要

希望回答对你有帮助
参考技术A oracle 中的numbe类型
db2中DECIMAL
sqlserver和mysql中的int
这些可以不用,其他的尽量都用
参考技术B 只要不是数字你就用引号吧

以上是关于javascript语言啥情况下用try比用if好?的主要内容,如果未能解决你的问题,请参考以下文章

举一个好例子说明java中啥情况下用过滤器,啥时候用拦截器,啥时候用侦听(没分了,但想知道真相)

C#里类型初始化器和构造方法有啥区别 他们分别在啥情况下用?

在啥情况下用session?啥情况下用hidden?

Java中的构造方法与普通方法的区别? 啥情况下用构造方法啥情况下用普通的方法

c#中啥情况用abstract,啥情况下用virtual

asp.net三层架构与asp.net MVC各自的区别,各自应该应用在啥场合,在啥情况下用三层,啥情况下用MVC