20/11/22学习笔记

77 阅读1分钟

在质数筛选练习中,出现了以下问题:

当在输入框不进行任何输入点击取消时,弹框提示为:该数字不合法。那么我的第一想法是第一个if判断句将不输入点击OK或Cancel判断为输入数字“1”。

进而对不输入数字点击Cancel或OK之后的i返回值产生了疑问,于是有了以下测试:

①当不输入数字,点击OK时:控制台显示i的返回值为string;

②当不输入数字,点击Cancel时:控制台显示i的返回值为object;

那么问题又来了,当输入字母时,i的返回值是什么呢?

输入字母i得到控制台显示结果:

输入字母+数字时:

得到结果为

那么返回问题的开始,完善质数筛选练习,想要达成效果为当用户不输入点击“确定“或“取消”时,应弹出“您真的不输入点什么吗?”修改后代码为

<script type="text/javascript">
	var num = prompt("请输入一个数字");
	if(num <= 1){
		alert("该数字不合法");
	}else if(num == Object || num == String){
		alert("您真的不输入点什么吗?");
	}else{
		for(var i=2;i < num;i++){
			if(num % i == 0){
				console.log("不是质数");
			}else{
				console.log("不是质数");
			}
		}
	}

不输入任何数字点击OK或Cancel仍显示

以我目前所学内容认为第五行else if后判断出现问题,但不知道具体怎么修改,不清楚哪里的概念弄混淆,此问题有待解决。