JS笔记1.3--语句

1.prompt():

prompt()可以弹出一个提示框,该提示框中有一个文本框,用户可以在文本框中输入一段内容。

prompt的返回值都是String类型。

注:非数值型字符串,转换为数值型后其类型是NaN。

var a = "abc";

a = Number(a);

console.log(isNaN(a)); //输出是true

<script type="text/javascript">
	//先判断成绩是否在0-100之间,如果不在,则重新输入,直到输入的成绩在0-100之间
	while(true)
	{
		var score = prompt("请输入您的成绩(0-100):");
		if(score >= 0 && score <= 100)
		{
			break;
		}	
		alert("请输入有效的成绩!");
	}
	if(score >= 90)
	{
		document.write("你很牛逼");
	}else if (score >= 80)
	{
		document.write("你很厉害");
	}else if (score >= 60)
	{
		document.write("还行吧及格了");
	}else
	{
		document.write("学渣你好");
	}
</script>

练习:从小到大输出用户输入的三个数的大小

<script type="text/javascript">
	/*
	* 用户输入三个数字,并从小到大输出
	* prompt返回String类型的数据,需要先将其转换成数值型。
	* 思路:先找到三个数中的最小数,然后找到中间数,最后按照从小到大的顺序输出。
        */
	var num1 = +prompt("请输入第一个数字"); //对输入的元素进行数据类型转换
	var num2 = +prompt("请输入第二个数字");
	var num3 = +prompt("请输入第三个数字");
	//先找到最小的数
	if(num1 <= num2 && num1 <= num3) //说明num1最小
	{
		if(num2 <= num3) //说明num3最大
		{
			alert("从小到大的顺序为:"+num1+","+num2+","+num3);
		}
		else //说明num2最大
		{
			alert("从小到大的顺序为:"+num1+","+num3+","+num2);
		}
	}else if(num2 <= num1 && num2 <= num3) //说明num2最小
	{
		if(num1 <= num3) //说明num3最大
		{
			alert("从小到大的顺序为:"+num2+","+num1+","+num3);
		}
		else //说明num1最大
		{
			alert("从小到大的顺序为:"+num2+","+num3+","+num1);
		}
	}else //说明num3最小
	{
		if(num1 <= num2) //说明num2最大
		{
			alert("从小到大的顺序为:"+num3+","+num1+","+num2);
		}
		else //说明num1最大
		{
			alert("从小到大的顺序为:"+num3+","+num2+","+num1);
		}
	}
</script>

练习:用户输入成绩,大于60输出合格,小于60输出不合格。

	<script type="text/javascript">
方法1:
	/*
	* 6x -- 9x 都输出“合格” 否者输出“不合格”
	*/
        var score = prompt("请输入您的成绩:");
	switch( parseInt(score / 10) )
	{
		case 10:
		case 9:
		case 8:
		case 7:
		case 6:
			alert("成绩合格");
			break;
		default:
			alert("成绩不合格");
	}
    
方法2:
        var score = prompt("请输入您的成绩:");
	switch(true)
	{
		case score >= 60:
		alert("成绩合格");
		break;
		default:
		alert("成绩不合格");
	}
	</script>

 2. 在网页中实现换行

<script type="text/javascript">
	/*
	* 在网页中实现换行输出
	*/ 
        document.write(1+"<br/>"); // <br/> 在网页中换行
	document.write(2+"<br/>"); // <br/> 在网页中换行
	document.write(3+"<br/>"); // <br/> 在网页中换行
</script>

3. while 和 do...while

区别: while { } 先判断条件,满足再执行 ; do...while 先执行一次,再判断循环条件,满足再次执行。

while 练习: 假设投资的年利率是5%,求从1000块钱增长到5000块钱,需要多少年

<script type="text/javascript">
	var money = 1000;
	var year = 0;
	while( money < 5000)
	{
		money *= 1.05;
		year++;
	}
	document.write(year); //33
</script>

4. for循环

语法: for(初始化表达式;条件表达式;更新表达式)

{ 语句 }

执行顺序:先执行初始化表达式,对变量进行初始化,

然后执行条件表达式,判断是否执行循环,如果为true,则执行循环语句,如果为false,终止循环。

然后执行更新表达式,再执行条件表达式,如果满足,继续执行循环语句,然后再执行更新表达式...

for循环练习:

1.打印1-100之间的所有奇数之和

<script type="text/javascript">
	var count = 0;
	for(var i = 1 ; i <= 100 ; i ++)
	{
		if( i % 2 == 1)
		{
			count += i;
		}
	}
	document.write(count); // 2500
</script>

2.打印1-100之间所有7的倍数的个数及其总和。

<script type="text/javascript">
	var sum = 0, count = 0;
	for(var i = 1 ; i <= 100 ; i ++)
	{
		if( i % 7 == 0)
		{
			count ++;
			sum += i;
		}
	}
	document.write("从1-100之间所有7的倍数的个数是:"+count+"<br/>"); //14
	document.write("从1-100之间所有7的倍数的总和是:"+sum); //735
</script>

3. 水仙花数

水仙花数是指一个三位数,它的每个位上的数字的3次幂之和等于它本身。打印所有的水仙花数。

如: 153 = 1^3 + 5^3 + 3^3。

<script type="text/javascript">
	for(var i = 100 ; i <= 999 ; i++)
	{
		var baiwei = parseInt(i / 100);
		var shiwei = parseInt((i / 10) % 10);
		var gewei =  i % 10;
		
		if(baiwei*baiwei*baiwei + shiwei*shiwei*shiwei + gewei*gewei*gewei  == i )
		 {
			 document.write(i + "<br/>");// 153,370,371,407
		 }
	}
</script>

4.用户输入一个数字,判断该数是否是质数。

质数:只能被1和它本身整除的数,1不是质数也不是合数,质数必须是大于1的自然数。

<script type="text/javascript">
	while(true)
	{
		var number = prompt("请输入一个大于1的整数:");
		if( number <= 1 || isNaN(number))
		{
			alert("请重新输入");
		}
		else
		{
			break;
		}
	}
	var flag = true; //设置变量flag保存当前数的状态,true默认为质数
	for(var i = 2 ; i < number ; i ++)
	{
		if ( number % i == 0)
		{
			flag = false;
		}
	}
	if(flag)
	{
		document.write("是质数");
	}
	else{
		document.write("不是质数");
	}
</script>

5. for循环嵌套 

<script type="text/javascript">
	for(var i = 0 ; i < 5 ; i ++)
	{
		for(var j = 0 ; j < i + 1 ; j ++)
		{
			document.write("*&nbsp;");
		}
		document.write("<br/>");
	}
	for(var a = 0 ; a < 5 ; a ++)
	{
		for(var b = 5 ; b > a ; b --)
		{
			document.write("*&nbsp;");
		}
		document.write("<br/>");
	}
</script>
* 
* * 
* * * 
* * * * 
* * * * * 
* * * * * 
* * * * 
* * * 
* * 
* 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值