JS PHP让用户输入数字后显示最大值和位置
本文主要向您介绍JS PHP在用户输入数字后显示最大值和位置。目的是区分JS和PHP的区别,拓宽思路。我们来看看详细的介绍:
分析
1.使用JS的提示输入用户想要输入的值。
2.使用HTML表单的文本标签将输入值传递给PHP处理文件
最大值和位置在3.PHP通过数值判断选择。
由浅入深:
1.获取JS中数组的最大值。
var a=[10,20,40,30];//var max=0;var max=a[0];for(var I=0;ia .长度;I){ if(maxa[I]){ max=a[I];}} alert('最大值为' max ');这里值得注意的是,不能直接设置一个变量max=0,因为你不确定未来输入的数字是小于0还是大于0[大小写列大于0],所以你应该在数组中选择一个数字,正好是数组中的第一个,max=a[0]。
因为JS语言是基于对象和面向过程的,所以JS中的所有东西都可以是对象,所以它的数组有属性。长度是JS数组的一个属性,用来获取数组的长度。有了这个属性,您可以遍历数组,然后逐个比较它们。
2.在JS实现中获取数组的最大值和最小值及其位置(即数组中的数字)
【注:本例中位置1是为了方便查看,JS数组以0开头】
var a=[10,20,40,30];var max=a[0];//您不能指定一个数字作为最大值[var max=0](除非它是确定的)。您应该使用数组中的值。[0]表示数组中的第一个值是比较的最大值。var max address=0;var min=a[0];var minaddress=0;for(var I=0;ia .长度;I){ if(maxa[I]){ max=a[I];max address=I } if(Mina[I]){ min=a[I];Minaddress=i}} alert('最大数字为' max ',位置为'(max address 1)');Alert('最小数字为' min ',位置为'(minaddress 1 '));3.现在使用提示用户输入来获得最大值,以此类推。
困难:
1.如何输入,使用提示
2.如何将字符串转换成数组并转换格式?
前提知识:
1.字符串分段使用JS的string object的spilt方法(注意JS中的一切都是对象,所以它被称为方法,而不是函数)
2.让一个' abc '字符串转换成数字类型,如何转换。
字符串到数字类型数字类型的字符串,转换后得到的数字。var n1=' 123var n2=数字(n1);//123非数字字符串,转换后为NaN。var n1=' 123abcvar n2=数字(n1);//Nan十进制字符串,转换后得到原始数字。var n1=' 123.23var n2=数字(n1);//123.23整数类型的parseInt字符串,转换后得到的整数。var n1=' 123var N2=ParSeint(n1);//123数字开头的字符串。转换后,你得到之前的数字。var n1=' 123abcvar N2=ParSeint(n1);//123不以数字开头的字符串,转换后得到NaN。var n1=' abc123var N2=ParSeint(n1);//NaN十进制字符串,转换后四舍五入(小数点直接省略)。var n1=' 123.53var N2=ParSeint(n1);//123 var n1='-5.93 ';var N2=ParSeint(n1);///-5 parseFloat整数类型字符串,转换后得到的整数。var n1=' 123var N2=parseFloat(n1);//123数字开头的字符串。转换后,你得到之前的数字。var n1=' 123abcvar N2=parseFloat(n1);//123不以数字开头的字符串,转换后得到NaN。var n1=' abc123var N2=parseFloat(n1);//NaN十进制字符串,转换后得到原始数字。var n1=' 123.23var N2=parseFloat(n1);//123.23转换布尔数和字符串后为真。未定义、null和0在传输后为false。varn1=123var n2=布尔值(n1);//true var n1=' 123 ';var n2=布尔值(n1);//true var n1=' 0 ';var n2=布尔值(n1);警报(N2);//true var n1;var n2=布尔值(n1);//false var n1=null;var n2=布尔值(n1);//false var n1=0;var n2=布尔值(n1);//false完成上述分析后,开始编写代码
script //var a=new Array(-12,34,56,88,32,' aa ','-34.33 ','-34.34 ',12.23);/* var a=新数组(提示('请输入数字'));document . write(a);*/var b=提示('请输入要比较的数字,用\ ',\ '分隔);var a=新数组();a=b.split(',');//for(var j=0;ja.lengthj){//document . write(a[j]);//} alert(typeof(a)' JS数组本质上是一个对象!' );//本质是对象PHP数组是一个没有属性(比如长度)的数组document . write(a ' br ');console . log(a ' br ');var max=parseFloat(a[0]);//document . write(max);var max address=0;var min=parseFloat(a[0]);var minaddress=0;for(var I=0;i=a .长度;I){ var Shu=parseFloat(a[I]);if(shumax){ max=Shu;max address=I;} if(Shumin){ min=a[I];minaddress=I;}} document.write('最大数字为' max ',位置为'(max address 1)' ' br ');Document.write('最小数字为' min ',位置为'(minaddress 1 '));/script4。以上是JS处理,我的目的是让JS PHP HTML链接起来。
PHP不能直接与前端交互,即不能直接获取用户输入的值,而是通过html形式
JS数据发送到PHP,可以使用AJAX,不过我后面会讲,让我们看看今天有哪些方法。
1.制作HTML表单:
!DOCTYPE html html lang=' en ' Head meta charset=' UTF-8 ' title document/title/Head body form action=' deal . PHP ' method=' post ',请输入数字:输入类型=' text ' id=' Shu ' name=' shuzi ' value=' input type=' submit ' value=' submit '/form/body/html 2。将该值传递给HTML:
脚本类型=' text/JavaScript' var a=prompt('请输入一个数字');document.getElementById('shu ')。值=a;/脚本这里有个坑。如果在HTML的头部写JS代码,会报错,说“未知类型错误:不能设置属性‘值’为null”
由于浏览器的解析顺序,当浏览器解析JS时(输入数字完成时),浏览器开始解析HTML。虽然JS赋予了文本的值,但是后来的HTML解析却矛盾地认为文本的值为NULL。
所以让JS代码尽量写在后面,你先解析HTML,然后我给你取值。(具体分析,不一定JS代码在头)
5.好了,HTML已经传递了值,现在看看PHP
?phpheader(' Content-type : text/html;charset=utf-8 ');$ a=$ _ POST[' shuzi '];//var _ dump($ a);$b=explode(',',$ a);for($ I=0;$ I count($ b);$ I){ echo $ b[$ I];} var _ dump($ b);$ max=$ b[0];$ max address=0;for($ j=0;$ jcunt($ b);$ j){ if($ b[$ j]$ max){ $ max=$ b[$ j];$ max address=$ j;}}echo“最大值为”。$max。br ';“Echo”位于。($maxaddress 1)。这里我们主要看explode(将字符串拆分成数组)计数(获取数组的数量)
还要注意类型转换的问题,以后补充或者自己写。
最后,见上图:
摘要
以上就是本文的全部内容。希望本文的内容能给你的学习或工作带来一些帮助。有问题可以留言交流。谢谢你的支持。
版权声明:JS PHP让用户输入数字后显示最大值和位置是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。