Javascript中的计算器parseInt()或eval()使用哪个更好?
数字在输入文本字段中,因此当我检索它时,它位于字符串中。我可以得到答案,但最好使用parseInt。一般来说,避免使用Javascript中的计算器parseInt()或eval()使用哪个更好?,javascript,Javascript,数字在输入文本字段中,因此当我检索它时,它位于字符串中。我可以得到答案,但最好使用parseInt。一般来说,避免使用eval,尤其是在用户输入时。任意代码执行几乎从来都不是您最初想要做的事情。只要使用不能进入十进制数, PARSETIN < /C> >就行了。 Value>(代码)> /代码>几乎永远都不是更好的选择。我可能会考虑使用一个库,就像我总是尽量避免使用EVE,除非是最后一招。出于某些原因,请参阅此线程:永远不要使用eval(),尤其是当您可以使用类似parseInt()的方法来解
eval
,尤其是在用户输入时。任意代码执行几乎从来都不是您最初想要做的事情。只要使用不能进入十进制数,<代码> PARSETIN < /C> >就行了。 <代码> Value>(代码)> /代码>几乎永远都不是更好的选择。我可能会考虑使用一个库,就像我总是尽量避免使用EVE,除非是最后一招。出于某些原因,请参阅此线程:永远不要使用eval()
,尤其是当您可以使用类似parseInt()
的方法来解决相同的问题时。stackoverflow.com/questions/86513/why-is-use-the-javascript-eval-function-a-bad-idea如果您只想将包含数字的字符串转换为数字,那么就没有理由使用eval
。即使是parseInt
也可能是杀伤力过大。只需使用一元加号运算符:var num=+str代码>“尤其是用户输入”取决于哪个用户的输入。我不同意。所有用户输入都是脏的,因此有潜在危险。始终验证用户输入。但是您知道,如果用户真的愿意,他们可以在控制台中执行代码,对吗<当您传递其他用户的输入时,code>eval
是危险的。当然。。。这就是为什么您不能信任JavaScript或客户端代码的原因。但认为你不应该试图阻止用户射中自己的脚,因为控制台的存在是一个真正的滑坡。