JavaScript(6)—— 返回特征数字
案例要求

根据业务情况,要把核心的东西变成一个模块便于复用,慢慢沉淀后,能够更快更高效地编程。
业务核心算法:
/*
数字检测
@return
返回2,能被3和7整除
返回1,能够被3整除
返回0,不能被3整除
@author Dev
Written in 2019.9
*/
function checkNum(number){
if(number % 21 == 0) return 2;
else if(number % 3 == 0) return 1;
return 0
}
业务逻辑代码:
/*
@return
返回符合条件的拼接结果,每十个一行;
illegal:
"unexpected number";
begin > end:
"the begin is greater than the end"
*/
function filterNum(begin, end){
var rst = '';
var cnt = 0;
//合法性判断:
if(isNaN(begin) || isNaN(end)) return "unexpected number";
if(begin>end) "the begin is greater than the end";
for(var i = begin ; i <= end; i++){
if(checkNum(i) == 0) continue;
rst += ("<span class='");
// 被3除
if(checkNum(i) == 1) rst += ("three ");
// 被两者除
else rst += ("twt-one ");
rst += ("'>"+ i +"</span>");
cnt ++;
if(cnt % 10 == 0 ) rst += '<br/>';
}
return rst;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<link rel="stylesheet" href="divide.css">
</head>
<body>
<label>请输入开始数字</label>
<input type="text" name="" id="begin">
<label>请输入结束数字</label>
<input type="text" name="" id="end">
<button id="smt">提交</button>
<hr>
<div id="result">
</div>
</body>
<script type="text/javascript" src="base.js"></script>
<script type="text/javascript" src="divide.js"></script>
</html>
divide.html
/* normal style */
span{
display: inline-block;
width: 100px;
text-align: center;
} /* Able to be divisible by three. */
.three{
color: blue;
font-weight: bold;
} /* Able to be divisible by 3 and 7 */
.twt-one{
color: yellow;
background-color: red;
}
divide.css
function $(id){
return document.getElementById(id);
}
function print(log){
console.log(log);
}
base.js
/*
数字检测
@return
返回2,能被3和7整除
返回1,能够被3整除
返回0,不能被3整除
@author Dev
Written in 2019.9
*/
function checkNum(number){
if(number % 21 == 0) return 2;
else if(number % 3 == 0) return 1;
return 0
}
/*
@return
返回符合条件的拼接结果,每十个一行;
number wrapper:
span
illegal:
"unexpected number";
begin > end:
"the begin is greater than the end"
*/
function filterNum(begin, end){
var rst = '';
var cnt = 0;
//合法性判断:
if(isNaN(begin) || isNaN(end)) return "unexpected number";
// 转成数值
begin = Number(begin), end = Number(end);
if(begin > end) return "the begin is greater than the end";
for(var i = begin ; i <= end; i++){
var num = checkNum(i);
if(num == 0) continue;
rst += ("<span class='");
// 被3除
if(num == 1) rst += ("three ");
// 被两者除
else rst += ("twt-one ");
rst += ("'>" + i + "</span>");
cnt ++;
if(cnt % 10 == 0 ) rst += '<br/>';
}
return rst;
}
/*
用户提交数据时触发
获取网页源数据,并在网页显示处理结果
*/
function onSubmit(){
var begin = $('begin').value;
var end = $("end").value;
var rst = $('result');
rst.innerHTML = filterNum(begin,end);
} // 设置点击事件函数
$('smt').onclick = onSubmit;
divide.js
JavaScript(6)—— 返回特征数字的更多相关文章
- java基础60 JavaScript字符串转换成数字(网页知识)
1.字符串转换成数字 <!doctype html> <html> <head> <meta charset="utf-8"> &l ...
- asp.net后台操作javascript:confirm返回值
在asp.net中使用confirm可以分为两种: 1.没有使用ajax,confirm会引起也面刷新 2.使用了ajax,不会刷新 A.没有使用ajax,可以用StringBuilder来完成. ( ...
- JavaScript判断是否是数字
JavaScript判断是否是数字的几种方法 isNaN() /** * 判断是否是数字 */ function isNumber(value){ if(isNaN(value)){ return f ...
- JavaScript 关于金额、数字验证的正则表达式
JavaScript 关于金额.数字验证的正则表达式 function ismoney(money) { var reg = /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^ ...
- JavaScript关于返回数据类型一个小小的笔记
Javascript关于返回数据类型的一个小笔记 javascript数据类型有两种. 一种是基本数据类型:String.Number.Boolean.Symbol.Underfine.Null 一种 ...
- JavaScript求两个数字之间所有数字的和
这是在fcc上的中级算法中的第一题,拉出来的原因并不是因为有什么好说的,而是我刚看时以为是求两个数字的和, 很显然错了.我感觉自己的文字理解能力被严重鄙视了- -.故拉出来折腾折腾. 要求: 给你一个 ...
- Odometer使用JavaScript和CSS制作数字滑动效果
Odometer是一个使用JavaScript和CSS技术,制作出数字上下滑动的动画效果插件,有点类似与我们的天然气的读数的动画效果,这个插件是轻量级的,压缩版本只有3kg,使用CSS3动画技术,所以 ...
- 使用Javascript实现返回顶部功能。
为了提高网站的浏览体验及友好度,相信大部分网站需要一个返回顶部的按钮,如果使用传统的a标记,再做一个div加上链接的话,非常麻烦,不仅每个页面都需要添加,而且不能实现非常智能的效果及简化维护时间. 下 ...
- 【JavaScript】日期和数字格式化
var date, number; /** * 让日期和时间按照指定的格式显示的方法 * @param date * @param formatString format 格式字符串 * @retur ...
随机推荐
- 常量和iota
定义常量时如果不是必须指定特定类型,可以省略类型,使用默认类型.且数值类型常量(不定义类型)可以直接进行运算 常量的值可以是表达式,但是不允许出现变量 func main() { const a st ...
- [转载]ac mysql 无法远程连接
Mac mysql 无法远程连接 2018年07月23日 10:56:02 feixiang2039 阅读数 2866 版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附 ...
- 虚拟机挂载U盘
1.打开运行窗口输入services.msc回车 2.启动VMware USB Arbitration Service 3.打开虚拟机 进入编辑虚拟机设置 4.选择USB3.0 复选框全部勾选,点击 ...
- 4-windows启用账户锁定计数器
1.打开本地策略编辑器 命令:gpedit.msc 2.找到账户锁定策略 3.右键属性,设置登录无效次数 注:这个策略修改完后,不需要重新服务器就能生效
- 【Winform-最大化窗体】Winform设置窗体最大化,填满整个屏幕
设置窗体最大化,填满整个屏幕//this.MaximizedBounds = Screen.PrimaryScreen.WorkingArea;//this.MaximumSize = Screen. ...
- 基于sed 的猫狗游戏
1.测试文件 [root@L shells]# cat catDog.txt snake snake pig bird dog cat snake pig bird snake cat bird do ...
- HGOI 20191031am 题解
Problem A Divisors 给出$m$个不同的正整数$a_i$,设数论函数 $f(k) = \sum\limits_{i = 1}^{n} [(\sum\limits_{j = 1}^ ...
- jQuery系列(四):jQuery的属性操作
jquery的属性操作模块分为四个部分:html属性操作,dom属性操作,类样式操作和值操作 html属性操作:是对html文档中的属性进行读取,设置和移除操作.比如attr().removeAttr ...
- codeforces723E
One-Way Reform CodeForces - 723E There are n cities and m two-way roads in Berland, each road connec ...
- Android学习_注意事项
一. Fragment中加载ListView public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle ...