1、编写一个函数,计算两个数字的和差积商
<input type="text" id="txt1" placeholder="请输入一个数字">
<select name="symbol" id="sel">
<option value="+" id="jia">+</option>
<option value="-" id="jian">-</option>
<option value="*" id="cheng">*</option>
<option value="/" id="chu">/</option>
</select>
<input type="text" id="txt2" placeholder="请输入一个数字">
<span> = </span>
<input type="text" id="txt3" disabled>
<button id="btn">点击计算</button>
<script>
btn.onclick = function(){
// 通过 btn 来获取到页面中的输入的数据
// 获取页面中文本框中输入的值
var num1 = document.getElementById("txt1");
var num2 = document.getElementById("txt2");
// 获取选择的计算符号,+ - * /
var symbol = document.getElementById("sel");
// console.log(num1.value,num2.value,symbol.value);
var res = getCalc(num1.value,num2.value,symbol.value);
document.getElementById("txt3").value = res;
}
// 计算函数
function getCalc( num1 , num2 , sym ){
// 传递过来的值是 String 类型的,要转换成 Number
num1 = Number(num1);
num2 = Number(num2);
// 结果值 res
var res = 0;
// 判断输入进来的符号是什么,进行下面的操作
switch( sym ){
case "+" :
res = num1 + num2;
break;
case "-" :
res = num1 - num2;
break;
case "*" :
res = num1 * num2;
break;
case "/" :
res = num1 / num2;
break;
}
// 测试:输出的结果正确
// console.log(res);
// 在一个函数之中,return的优先级是最高的,如果在switch中,return之后就不需要break
// 返回结果值
return res;
}
</script>
效果截图:
2、编写函数,输入半径参数,求圆的面积,并返回
<script>
// 圆的半径 radius
var radius = prompt("请输入圆的半径");
// 将 String 转为 Number
radius = Number(radius);
// 求圆的面积 调用函数getArea
var area = getArea( radius );
// 打印面积area
document.write("圆的面积为:" + area);
// 获取圆的面积函数 getArea
function getArea(radius){
// 面积Area
var Area = Math.PI * Math.pow( radius , 2);
// 将得到的结果小数点保留两位
Area *= 100 ;
Area = parseInt(Area);
Area /= 100;
// 返回结果
return Area;
}
</script>
效果截图:
3、编写一个函数,计算三个数字的大小,按从小到大的顺序打印
<p>请输入三个数字</p>
<input type="text" id="txt1">
<input type="text" id="txt2">
<input type="text" id="txt3">
<button id="btn">点击排序</button>
<script>
btn.onclick = function () {
// 通过 btn 来获取到页面中的输入的数据
// 获取页面中文本框中输入的值
var num1 = document.getElementById("txt1");
var num2 = document.getElementById("txt2");
var num3 = document.getElementById("txt3");
getSort(num1.value, num2.value, num3.value);
}
// 排序函数
function getSort(num1, num2, num3) {
if (num1 > num2) { //num1大
if (num2 > num3) { //num2大
console.log(num3); console.log(num2); console.log(num1);
} else{ //num3大
console.log(num2); console.log(num3); console.log(num1);
}
// 第二个跟第三个比
}
if (num2 > num3) { //num2大
if (num1 > num3) { //num1大
console.log(num3); console.log(num1); console.log(num2);
}else{ //num3大
console.log(num1); console.log(num3); console.log(num2);
}
// 第一个跟第三个比
}
if (num3 > num1) { //num3大
if (num2 > num1) { //num2大
console.log(num1); console.log(num2); console.log(num3);
} else{ //num1大
console.log(num2); console.log(num1); console.log(num3);
}
}
}
</script>
效果截图:
4、编写一个函数,在页面上打印一个N1 行M列的表格,表格内容填充0~100的随机数字
<script>
// 5行 x 3列
var row = 5;
var col = 3;
// 生成表格
getTab(row , col);
function getTab(row , col){
document.write("<table border = 1>");
// 打印 行
for( i = 0 ; i < row ; i++){
document.write("<tr>");
// 打印 列
for( k = 0 ; k < col ; k++){
document.write("<td>");
document.write(parseInt(Math.random() * 100));
document.write("</td>");
}
document.write("</tr>");
}
document.write("</table>");
}
</script>
效果截图:
5、编写函数,判断一个字符串的内容是不是纯数字,返回true或false
<script>
// 输入内容
var str = prompt("请输入一个字符串");
var res = isNum(str);
if (res) { // true 是纯数字
alert(str + "是纯数字");
} else { // false 不是纯数字
alert(str + "不是纯数字");
}
// 函数判断是不是纯数字
function isNum(str) {
// 遇到问题:Number(" ") => 0
// 如果 强制转换 str 的适合结果为0,那么就要关注这个特殊值
if (Number(str) === 0) {
if (str === "0") {
return true;
}
return false;
}
return !isNaN(str)
}
</script>
效果截图:
6、编写一个函数,输入n为偶数时,调用函数求1/2+1/4+…+1/n,当输入n为奇数时,调用函数求1/1+1/3+…+1/n
<script>
var n = prompt("请输入一个数字");
// 结果值,存储函数返回的值
var res;
// 判断 n 为偶数还是奇数
if (n % 2 === 0) {
res = even(n);
} else {
res = odd(n);
}
// 偶数
function even(n) {
// 求和 sum
var sum = 0;
// 循环求1/2+1/4+...+1/n
for (var i = 2; i <= n; i += 2) {
sum += 1 / i;
}
console.log(sum);
}
// 奇数
function odd(n) {
// 求和 sum
var sum = 0;
// 循环求1/2+1/4+...+1/n
for (var i = 1; i <= n; i += 2) {
sum += 1 / i;
}
console.log(sum);
}
</script>
效果截图:
7、编写函数,生成4位数字的验证码
<script>
function validateNum(){
var randomNum = "";
// 生成四位 :
for(var i = 0 ; i < 4 ; i ++){
// 获取到一位的随机数字;
randomNum += parseInt(Math.random() * 10);
}
return randomNum;
}
var res = validateNum();
console.log(res);
</script>
效果截图:
8、某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换,请编写一个函数,传入原文,输出密文
<script>
// 传入原文text
var text = prompt("请输入要加密的原文");
// 加密函数
encryption(text);
function encryption(num){
// 将传入的四位数字分解成num1, num2, num3, num4
num1 = parseInt( num / 1000 );
num2 = parseInt( num / 100 ) % 10;
num3 = parseInt( num / 10 ) % 10;
num4 = num % 10;
// console.log(num1 ,num2 ,num3 , num4);
// 加密算法1:每位数字都加上5
num1 += 5;
num2 += 5;
num3 += 5;
num4 += 5;
// console.log(num1 ,num2 ,num3 , num4);
// 加密算法2:用除以10的余数代替该数字
num1 %= 10;
num2 %= 10;
num3 %= 10;
num4 %= 10;
// console.log(num1 ,num2 ,num3 , num4);
// 加密算法3:将第一位和第四位交换,第二位和第三位交换
var temp1,temp2;
temp1 = num1;
num1 = num4;
num4 = temp1;
temp2 = num2;
num2 = num3;
num3 = temp2;
document.write("密文:" + num1 ,num2 ,num3 , num4);
}
</script>
效果截图:
9、在页面输入任意数字,点击按钮后计算该数字的阶乘
<input type="text" id="txt" placeholder="请输入任意数字">
<button id="btn">计算阶乘</button>
<script>
// 点击按钮之后,获取ipt之中的数据(value),进行阶乘计算并返回结果
// 获取到输入框的值,输入框元素.value = 固定写法 > 获取输入框中的值
// btn 点击事件
btn.onclick = function () {
var num = document.getElementById("txt").value;
num = Number(num);
// 阶乘函数 factorial
factorial(num);
}
function factorial(n) {
// 阶乘 jc
var jc = 1;
for(var j = n ; j > 0 ; j --){
jc *= j;
}
console.log(jc);
}
</script>
效果截图:
10、编写一个函数,计算任意两个数字之间所能组成的奇数个数,数字必须是个位数。比如:计算0~3之间能组成的奇数是: 01、03、13、21、23、31
<script>
foo( 0 , 3 );
function foo(m , n){
// 组成结果
var res = "";
// 计数器
var count = 0;
// 判断输入的数字大小,让小的在前面
if( m > n){
// 中间量,两个值进行交换
var temp = "";
temp = m;
m = n;
n = temp;
// 经过数值的交换,可以达到 m < n ,小的数值在前面
}
// 循环组成奇数
// 循环从 m 开始,到 n 结束
// i 的值从 m ~ n
for(var i = m ; i <= n ; i ++){
// j 的值从 m ~ n
for(var j = m ; j <= n ; j ++){
// 判断是不是奇数,两个数字不能重复
if( i !== j && parseInt(i + "" + j) % 2 !== 0){
count ++;
res = i + "" + j;
console.log(res);
}
}
}
console.log("能组成的奇数个数为:" + count + "个");
}
</script>
效果截图:
如果有其他思路欢迎评论区讨论,文章之中若有失误之处欢迎指正。