javascript函数for,if...else,while,do...while,switch,求累加和(7.18)
一、MATH
Math.floor()向下取整
Math.ceil()向上取整
二、流程控制
经过声明但没有赋值的变量都是underfine类型,数据类型有数字类型,字符串型,空的对象,underfine,布尔型
流程控制:javascript有三种基本的流程控制结构:顺序结构、选择结构、顺序结构
三、数组的几种创建方法:
1.var myArray=new Array();
myArray[0]="one";
myArrray[1]="two";
2.var myArray=new Array("one","two");
3.var myArray=["one","two"];
四、运算符:
javascript常见运算符的缩写
x+=y | x=x+y |
x-=y | x=x-y |
x*=y | x=x*y |
x/=y | x=x/y |
x%=y | x=x%y |
在写100求和代码时,遇到的问题有:
1.alert放的位置
2.alert(“s”)弹出的是s;alert(s)弹出的是s的值
3.函数的调用:onclick=“sum()”
获取input里的值得方法:document.getElementById("").value;
以下是一个简单的if-else循环:
遇到的问题else if 个数是有限制的,可以用switch-case
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>测试年龄</title>
</head>
<script type="text/javascript">
function age(){
var num=document.getElementById('age').value;
if(num<=18){
alert("你还未成年")
}
else if(num<=30){
alert("你是青年");
}
else{
alert("你老啦");
}
}
</script>
<body>
<label>请输入你的年龄:</label><input type="text" id="age">
<button onclick="age()">测试年龄</button>
</body>
</html>
还有一个switch语句,有个问题就是他不能输入范围,二是只能具体的值,成绩评定;
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <script type="text/javascript"> function test(){ var a1=document.getElementById('score'); a1=parseInt(score.value); var msg=""; switch(a1){ case 90: msg="A" break; case 80: msg="B" break; case 70: msg="C" break; case 60: msg="D" break; } alert(msg); } </script> <body> 请输入你的成绩:<input type="text" name="grade" id="score"> <button onclick="test()">查询</button> </body> </html>
以下是从任意值到任意值得累加和代码
遇到的问题:
1.参数写到函数外就不能正常运行,弹出结果为0
2.如何将输入框中的值获取,写法不同,结果不同,有两种结果:
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>计算1到100的和</title> </head> <script type="text/javascript"> function sum(){ var a=document.getElementById("m1").value; var b=document.getElementById("n1").value; var s=0; for(var i=a;i<=b;i++){ s+=i; } alert(s); } </script> <body> 计算从<input id="m1" type="text">到<input id="n1" type="text">的值 <button onclick="sum()">计算</button> </body> </html>
这样子如果输入5和8,结果是05678;为什么是排列呢?
正确代码:
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>计算1到100的和</title> </head> <script type="text/javascript"> function sum(){ var a=document.getElementById("m1"); a=parseInt(a.value); var b=document.getElementById("n1"); b=parseInt(b.value); var s=0; for(var i=a;i<=b;i++){ s+=i; } alert(s); } </script> <body> 计算从<input id="m1" type="text">到<input id="n1" type="text">的值 <button onclick="sum()">计算</button> </body> </html>
以下是计算1到100求和值的源码
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>计算1到100的和</title> </head> <script type="text/javascript"> function sum(){ var s=0 for(var i=1;i<=100;i++){ s+=i; } alert(s); } </script> <body> <button onclick="sum()">计算</button> </body> </html>