Javascript多态的属性是非常爽的,一个var就不用记这么多奇怪的变量,然而,有时候你会困惑,为何,我明明是对两个数进行相加处理,可是结果却被当作字符串加起来呢?这就是Javascript的var不好的地方,它不像php,用一个.来指明这是字符串的连接。这是你需要parseFloat来明确指明这个var是数。需要用isNaN来判断这是不是数。isNaN(一个被判断的var)的时候,结果为真那么它就不是数,结果为假,那么它是数,这里注意。
下面是这样的一个程序,输入两个数,能够正常地进行相加,如果输入的任意一个不是数,那么则弹出提示,如果输入两个是数,则弹出结果,值得注意的是,再Javascript里面,00000.22也会被认为是数,就是0.22
这个程序是这样写出来的,同时注意除了判断num1或者num2是否是数的同时,还要防止用户点取消按钮的情况!:
<html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"/> </head> <body> </body> </html> <script> var num1=window.prompt("请输入一个数"); var num2=window.prompt("请输入第二个数"); if(isNaN(num1)||isNaN(num2)||!num1||!num2) alert("任意一个不是数!"); else{ var res=parseFloat(num1)+parseFloat(num2); alert("两数相加的结果是:"+res); } document.write("程序已经运行完毕,大家散了吧!"); </script>
window.prompt能够弹出一个输入框,虽然在当今的网页已经很少用了,几乎看不到了,然后就按照上述的流程在走,最后用document.write来在网页覆盖性地输出信息,所谓覆盖性地输出信息,也就是说,无论现在网页上有任何内容,都会被document.write里面的内容覆盖掉,这个方法现在也很少用了。
希望本文所述对大家的javascript程序设计有所帮助。
您可能感兴趣的文章: