1.复习昨天内容
- 布尔类型Boolean 取值就两种 true false
不像Number包括很多种(数字、Ifinity,NaN等都是Number类型) - 关系运算符
< > <= >= == === != !==
console.log(2<3<5);// 返回true
console.log(2<3<1);// 返回false
console.log(-2<-1<0);// 返回false
//先判断-2<-1正确,返回true true<0比较时,会把true转换成1,然后1<0比较,返回false
//尽量不要这样写,容易出问题
console.log(NaN==NaN);// 返回false
- 逻辑运算符
&& 与
|| 或
! 非 - if语句
最基本的if语句
多分支if语句
if语句的嵌套使用
跳楼现象 - for循环
基本语法 for(var i=0;i<10;i++){代码块}
补充:i++的演化过程 一元运算符 ++前置、后置的区别
for循环执行的过程
计算从1到100的和:
var sum=0;// 累加器
for(var i=1;1<=100;i++){
sum=sum+i;
}
console.log(sum);
计算从1到10的成绩:
var result=1;// 累乘器
for(var i=1;i<=10;i++){
result=result*i;
}
console.log(result);
for循环和if语句的嵌套使用
用户输入一个随机数,判断这个数能否被6或者7整除:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script type="text/javascript">
var num=parseInt(prompt("请输入一个整数:"));
if(num%6==0||num%7==0){
alert("能整除");
}else{
alert("不能整除");
}
</script>
</body>
</html>
找出1到800之间能被6或者7整除的数:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<script type="text/javascript">
for(i=1;i<=800;i++){// 穷举法
if(i%6==0||i%7==0){
console.log(i);
}
}
</script>
</body>
</html>
随机输入一个正整数,找出所有能被它整除的数字:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script type="text/javascript">
var num=parseInt(prompt("请输入一个正整数:"));
for(var i=0;i<=num;i++){
if(num%i==0){
console.log(i);
}
}
</script>
</body>
</html>
随机输入一个正整数,找出所有能被它整除的数的个数:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script type="text/javascript">
var num=parseInt(prompt("请输入一个正整数:"));
var j=0;// 借助累加器
for(var i=0;i<=num;i++){
if(num%i==0){
j++;
}
}
console.log(j);
</script>
</body>
</html>
找出1~1000之间的所有质数:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script type="text/javascript">
var flag=true;
for(var i=2;i<=1000;i++){
flag=true;
for(var j=2;j<i;j++){
if(i%j==0){
flag=false;
}
}
if(flag){
console.log(i);
}
}
</script>
</body>
</html>
水仙花数,特点如下:
1^3+5^3+3^3=153
找出100~999之间的水仙花数:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script type="text/javascript">
for(var i=100;i<=999;i++){
var a=parseInt(i/100);
var b=parseInt((i-a*100)/10);
var c=i-a*100-b*10;
var s=Math.pow(a,3)+Math.pow(b,3)+Math.pow(c,3);
if(s==i){
console.log(i);
}
}
</script>
</body>
</html>
喝酒游戏“缝7过”,规则是7或者7的倍数,或者尾数是7的直接过,除了这些数字都称为安全数,找出1~100之间的安全数:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script type="text/javascript">
for(var i=1;i<=100;i++){
if(i%7!=0&&i%10!=7){
console.log(i);
}
}
</script>
</body>
</html>
2.认识函数
函数需要2步基本操作:
1.声明函数
function hanshu(){
console.log(123);
}
2.调用函数(可以多次调用)
hanshu();
函数调用可以再函数声明前也可以在声明后
每一个函数都有变量名,命名规则和变量名一样:
- 关键字(var function if for typeof等)、保留字不能用;
- 不要用以数字开头或者纯数字名字;
- 只能以$或者_开头,其他符号就别用了;
- 建议使用驼峰命名法;
- 不要使用汉字;
- 区分大小写;
- 其它。
我们函数名后面的括号中传递的是参数,这个是形参(形式上的参数)。
调用函数的函数名后面的括号中也可以传递参数,这个是实参(具有实际意义的参数)。
函数可以传递多个参数,中间用逗号分隔。
undefined+任何数都会输出NaN。
return关键字,用来返回函数值。
return后面的内容不能换行。
return后面的代码是不会执行的,return后面就不要写东西了。
猜数字游戏
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<input type="text" id="demo" />
<button type="button" "myFunction()">猜数字</button>
<label id="result">测试</label>
<script type="text/javascript">
var num=Math.ceil(Math.random()*100);
console.log(num);
function myFunction(){
var demo=document.getElementById("demo");
var guss=demo.value;
var result=document.getElementById("result");
if(guss==num){
result.innerText="猜对了";
}else if(guss>num){
result.innerText="大了";
}else{
result.innerText="小了";
}
}
</script>
</body>
</html>