最近遇到的一个坑,判断数值是否为素数的时候,忘记考虑函数的封装性

先上代码

function isPrime(num) {// 不是数字或者数字小于2if (typeof num !== "number" || !Number.isInteger(num)) { // Number.isInterget 判断是否为整数return false;}// 2是质数if (num == 2) {return true;} else if (num % 2 == 0) { //排除偶数return false;}//依次判断是否能被奇数整除,最大循环为数值的开方for (var i = 3; i <= Math.sqrt(num); i += 2) {if (num % i == 0) {return false;}}return true}var num = Number(prompt('请输入要判断的数字:')) // Number用以转换数值var re = isPrime(num);alert(re)

这个坑出自,这句话的判断。

typeof num !== "number" || !Number.isInteger(num)

这个函数应该是被封装好的,不应该受到用户输入的影响。程序内其他需要调用函数的对象,应该将需要传入的num值进行类型转换。而不是等待isPeime函数内的某些隐形转换。

var num = Number(prompt('请输入要判断的数字:')) // Number用以转换数值

所以这行代码十分有必要,它进行了对用户输入的str型值的Num转换。如果在程序更加复杂的情况下,更应该对函数实参的类型多加注意!

JS判断用户输入是否为素数相关推荐

  1. js luhn算法_判断用户输入的银行卡号是否正确--基于Luhn算法的格式校验

    开发中,有时候,为了打造更好的用户体验,同时减轻服务器端的压力,需要对于一些如,手机号码,银行卡号,身份证号码进行格式校验 下面是判断银行卡号输入是否正确的代码(基于Luhn算法的格式校验): iOS ...

  2. 【JS】判断用户输入的用户名首位是否是字母

    判断用户输入的用户名首位是否是字母 https://codepen.io/sam9029/pen/xxWrGRw 思路: 方法1. 正则 /[a-z]/i 方法2. ASCII码 A-Z的ascii码 ...

  3. 判断用户输入的数字是奇数还是偶数

    判断用户输入的数字是奇数还是偶数代码关键知识点 条件运算符,== 相等运算符,为了让两个不同的数据类型(如number和string)的值可以作比较,必须要把一种类型转换为另一种类型(转换成相同的类型 ...

  4. 虚拟机Linux中判断用户输入的是 Yes 或 NO

    Linux中判断用户输入的是 Yes 或 NO #!/bin/bash # 判断用户输入的是 Yes 或 NO read -p "Are you sure?[y/n]:" sure ...

  5. 判断用户输入的日期是否为当前日期

    应用java.util.Calendar类实现,首先使用该类的getInstance()方法来获取系统当前时间的日历对象,再使用该对象中提供的方法获得当前时间 创建一个当前时间的Calendar对象 ...

  6. 【shell】Linux shell 之 判断用户输入的变量是否为数字

    本文内容:判断用户输入的参数是否为数字 在shell中如何进行计算? 方式一 [root@XiaoPeng scripts]# echo $((1+2)) 3 方式二 [root@XiaoPeng s ...

  7. java中if判断季节_Java判断用户输入月份的季节

    Java判断用户输入月份的季节 发布于 2020-12-7| 复制链接 摘记: 要求: *  根据用户输入的月份来判断该月季节实现代码: ```java import java.util.Scanne ...

  8. linux 输入是否为数字,【shell】Linux shell 之 判断用户输入的变量是否为数字

    本文内容:判断用户输入的参数是否为数字 在shell中如何进行计算? 方式一 [root@XiaoPeng scripts]# echo $((1+2)) 3 方式二 [root@XiaoPeng s ...

  9. java输入正确的信息_判断用户输入的信息是否正确

    package com.Embed.util; import java.sql.Connection; import java.sql.DriverManager; import java.text. ...

最新文章

  1. Linux字符设备驱动程序的框架(新写法)
  2. Oracle客户端工具出现“Cannot access NLS data files or invalid environment specified”错误的解决办法...
  3. 实战 es6_Node.JS实战65:ES6新特性:箭头函数
  4. Java调用百度图像识别接口
  5. PMP第六节:项目进度管理
  6. vlan tenant network on ovn based dvr (by quqi99)
  7. 论文阅读《Revisiting Domain Generalized Stereo Matching Networks from a Feature Consistency Perspective》
  8. php如何验证银行卡号,PHP效验银行卡卡号
  9. BUUCTF:[WUSTCTF2020]alison_likes_jojo
  10. 优动漫PAINNT——漫画原稿纸的基础知识介绍
  11. Python-ppt增加图片
  12. 计算机网络组成复习笔记
  13. FRM-92050:连接服务器失败
  14. 移动支付时代的手机和app安全设置
  15. Nginx学习笔记02——安装部署Nginx
  16. 典型计算机控制的电子测试系统组成,LIV测试系统的结构组成和应用分析
  17. 清理Git提交记录最简单的方法
  18. QQ在线客服JS代码,自适应漂浮在网页右侧
  19. 最大公共子串----快手校招真题
  20. 7-30java实训日记

热门文章

  1. 天威TM1668芯片官方资料,讲解,代码,自己写的例程
  2. 普通话测试软件哪个不要钱,普通话测试软件哪个好_普通话测试软件靠谱吗_不要钱的普通话测试软件...
  3. html标签中h4和h5,h5与h4的区别
  4. 激光测距仪行业报告-产能、产量、销量、销售额、价格及未来趋势
  5. QT源码剖析-QT对象通信机制信号槽的绑定具体实现
  6. ? addActionListener()调用actionPerformed()
  7. python代码怎么写(一)
  8. 天翼云弹性计算服务器,获取天翼云Windows弹性云主机的密码操作步骤
  9. 秒懂 Git 与 Gitee(码云)
  10. 23种java设计模式详解-代理模式