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>
效果截圖:
如果有其他思路歡迎評論區討論,文章之中若有失誤之處歡迎指正。