前端周刊發表每周前端技術相關的大事件、文章教程、一些框架的版本更新、以及代碼和工具。每周定期發表,歡迎大家關註、轉載。 如果外鏈不能訪問,關註公眾號「前端每周看」,裡面有解決辦法 大事件 Veni,vidi,formatae! 宣佈Rome Formatter:超快速的 JavaScript 格式化 ...
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> </head> <body> <script> //簡易atm機 /* var sum = 100; do { var text = parseFloat(prompt("1.存錢\n2.取錢\n3.顯示餘額\n4.退出")); switch (text) { case 1: var cq = parseFloat(prompt("存錢金額")); sum += cq; alert("金額為" + sum); break; case 2: qq = parseFloat(prompt("取錢金額")); if (qq > sum) { alert("金額不足"); } else { sum -= qq; alert("金額為" + sum); break; } case 3: alert("餘額" + sum); break; case 4: alert("你已經退出"); break default: alert("沒有這個功能"); break; } } while (text !== 4); */
//求最大值 /* var arr = [2, 6, 1, 77, 52, 25, 7, 99]; max = arr[0]; for (var i = 1; i < arr.length; i++) { if (arr[i] > max) { max = arr[i]; } // max=arr[i]>max?arr[i]:max; } console.log(max); */
//求最小值 /* var arr1 = [2, 6, 1, 77, 52, 25, 7, 99]; min = arr[0]; for (var i = 1; i < arr1.length; i++) { if (arr1[i] < min) { min = arr1[i]; } // max=arr[i]>max?arr[i]:max; } console.log(min); */
//輸出1-10的整數在arr2裡面 /* var arr2 = []; for (var i = 0; i < 10; i++) { arr2[i] = i + 1; } console.log(arr2); */
//求數組大於10的存在arr4數組裡面 /* var arr3 = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7]; var arr4 = []; for (var i = 0; i < arr3.length; i++) { if (arr3[i] >= 10) { arr4[arr4.length] = arr3[i]; } } console.log(arr4); */
//求數組小於10的存在arr4數組裡面 /* var arr3 = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7]; var arr4 = []; for (var i = 0; i < arr3.length; i++) { if (arr3[i] <= 10) { arr4[arr4.length] = arr3[i]; } } console.log(arr4); */
//反轉數組 /* var arr = ["red", "green", "blue", "pink", "purple", "hotpink"]; arr1 = []; for (var i = arr.length - 1; i >= 0; i--) { arr1[arr1.length] = arr[i]; } console.log(arr1); */
//冒泡排序 /* var arr = [5, 3, 1, 4, 2]; for (var i = 0; i <= arr.length - 1; i++) { //i只是判斷要迴圈的趟數 for (var j = 0; j < arr.length - i - 1; j++) { //j是判斷迴圈的次數 if (arr[j] > arr[j + 1]) { var temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } console.log(arr); */
// 簡易計算器 /* num1 = prompt("請輸入第一個數字"); ysf = prompt("請輸入運算符"); num2 = prompt("請輸入第個二數字"); function getJs() { switch (ysf) { case "+": return parseFloat(num1) + parseFloat(num2); break; case "-": return parseFloat(num1) - parseFloat(num2); break; case "*": return parseFloat(num1) * parseFloat(num2); break; case "/": return parseFloat(num1) / parseFloat(num2); break; default: alert("沒有這個運算"); break; } } alert("運算結果為" + getJs(num1, ysf, num2)); */
//輸入任意兩個數求最大值 /* var num1=prompt('請輸入第一個值'); var num2=prompt('請輸入第二個值'); function getMax(num1, num2) { return num1 > num2 ? num1 : num2; } alert(getMax(num1,num2)); */
//輸入任意三個數求最大值 /* var num1 = prompt("請輸入第一個值"); var num2 = prompt("請輸入第二個值"); var num3 = prompt("請輸入第二個值"); function getMax(num1, num2, num3) { arr = [num1, num2, num3]; max = arr[0]; for (var i = 1; i <= arr.length; i++) { if (arr[i] > max) { max = arr[i]; } } return max; } alert(getMax(num1, num2,num3)); */
//判斷是否為質素 /* var num = prompt("請輸入一個數"); function getZs(num) { if (num <= 2) { return false; }
for (var i = 2; i < num; i++) { if (num % i == 0) { return false; } } return true; } alert(getZs(num)); */
//arguments求最大值 /* function getMax() { var max = arguments[0]; for (var i = 1; i < arguments.length; i++) { if (arguments[i] > max) { max = arguments[i]; } } return max; } console.log(getMax(56, 89, 33, 4)); console.log(getMax(56, 5, 89, 353, 4)); console.log(getMax(56, 89, 33, 994)); */
//利用函數翻轉任意數組 reverse翻轉的意思 /* function reverse(arr) { var newArr = []; for (var i = arr.length - 1; i >= 0; i--) { newArr[newArr.length] = arr[i]; } return newArr; } var arr1 = reverse([1, 2, 3, 4, 5]); console.log(arr1); var arr2 = reverse([2, 6, 8, 10, 12]); console.log(arr2); */
//函數冒泡排序 sort排序的意思 /* function sort(arr) { for (var i = 0; i < arr.length - 1; i++) { for (var j = 0; j < arr.length - i - 1; j++) { if (arr[j] > arr[j + 1]) { var temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } return arr; } var arr1 = sort([9, 62, 8, 2, 3, 66, 89, 10]); console.log(arr1); */
//函數判斷閏年 是返回true 否則false /* function isRunnian(year) { var flag = false; if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { flag = true; } return flag; } console.log(isRunnian(2000)); console.log(isRunnian(1999));
//利用調用函數判斷閏年天數 if 裡面預設為是true else 則是false function getDate() { var year1 = prompt("請輸入年份"); if (isRunnian(year1)) { alert("第二月有29天"); } else { alert("第二月有28天"); } } getDate(); */
//利用{}按照要求創建對象 /* var obj = { name: "可可", type: "阿拉斯加犬", age: 18, color: "pink", say: function () { console.log("汪汪汪"); console.log("演電影"); } }; console.log(obj.name); console.log(obj.age); obj.say(); */
//利用new Object根據要求創建對象 /* var obj1=new Object(); obj1.name='鳴人'; obj1.sex='男'; obj1.age=19; obj1.skill=function(){ console.log('影分身術'); } console.log(obj1.name); console.log(obj1['age']); obj1.skill(); */
//利用構造函數創建對象 /* function King(name,type,blood){ this.name=name; this.type=type; this.blood=blood; this.attack=function(attack){ console.log(attack); } } var lp=new King('廉頗','力量型','500血量') console.log(lp.name); console.log(lp['type']); lp.attack('近戰')
var hy=new King('後裔','射手型','100血量') console.log(hy.name); console.log(hy['type']); lp.attack('遠程'); */
//利用函數反轉數組 /* function getFz(arr) { newArr = []; for (var i = arr.length - 1; i >= 0; i--) { newArr[newArr.length] = arr[i]; } return newArr; } var arr1 = getFz([1, 2, 3, 4, 5]); console.log(arr1); */
//利用函數實現對數字數組的排序 /* function paiXu(arr) { for (var i = 0; i < arr.length - 1; i++) { for (var j = 0; j < arr.length - i - 1; j++) { if (arr[j] > arr[j + 1]) { var temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } return arr; } var arr1 = paiXu([5, 4, 3, 2, 1]); console.log(arr1); */
//建議計算器2 /* while (true) { var num = parseInt( prompt("1.加法運算\n2.減法運算\n3.乘法運算\n4.除法運算\n5.退出") ); if (num == 5) { alert("正在退出"); break; } switch (num) { case 1: var num1 = parseFloat(prompt("請輸入第一個數")); var num2 = parseFloat(prompt("請輸入第二個數")); alert(num1 + num2); break; case 2: var num1 = parseFloat(prompt("請輸入第一個數")); var num2 = parseFloat(prompt("請輸入第二個數")); alert(num1 - num2); break; case 3: var num1 = parseFloat(prompt("請輸入第一個數")); var num2 = parseFloat(prompt("請輸入第二個數")); alert(num1 * num2); break; case 4: var num1 = parseFloat(prompt("請輸入第一個數")); var num2 = parseFloat(prompt("請輸入第二個數")); alert(num1 / num2); break;
default: alert("沒有這個運算"); break; } } */
//['red', 'blue', 'red', 'green', 'pink','red'], 求 red 出現的位置和次數 /* var arr1 = ["red", "blue", "red", "green", "pink", "red"]; var index = arr1.indexOf("red"); var num = 0; while (index !== -1) { console.log(index); num++; index = arr1.indexOf("red", index + 1); }
console.log(num); */ //判斷字元串中出現最多的值,輸出值和幾次 /* var str = "abcoefoxyozzopp"; var o = {}; for (var i = 0; i < str.length; i++) { var chars = str.charAt(i); if (o[chars]) { //o[chars]是屬性值,應為chars是字元串型所以不能直接o.chars o[chars]++; } else { o[chars] = 1; //可以理解為在o對象里創建了chars屬性並賦值為1; } } console.log(o); var max = 0; var ch = ""; for (k in o) { //遍歷對象k是屬性,o[k]是屬性值 if (o[k] > max) { max = o[k]; ch = k; } } console.log("出現最多的屬性是" + ch); console.log("出現的次數是" + max); */
//給定一個字元串,如:'abaasdffggghhjjkkgfddsssss3444343' /* 1.求出字元串的長度, 2.取出指定位置的字元,如0,3,5,9等 3.查找指定字元串是否有以上字元存在,如:i,c,b等 4.替換指定字元,如:g替換成22,ss替換成b等操作方法 5.截取指定開始位置到結束位置的字元串,如:取得1-5的字元串 6.找出以上字元串中出現最多的字元和出現次數 */ /* var str = "abaasdffggghhjjkkgfddsssss3444343"; console.log(str.length);
console.log(str.charAt(0)); console.log(str.charAt(3)); console.log(str.charAt(5)); console.log(str.charAt(9));
function panDuan(num) { if (num !== -1) { return "有該字元串"; } else { return "沒有該字元串"; } } console.log(panDuan(str.indexOf("i"))); console.log(panDuan(str.indexOf("c"))); console.log(panDuan(str.indexOf("b")));
function tiHuan(string) { while (str.indexOf(string) !== -1) { str = str.replace(string, 22); } return str; } console.log(tiHuan("g"));
var str = "abaasdffggghhjjkkgfddsssss3444343"; //上面tiHuan函數把str替換,重新聲明字元串 console.log(str.substr(1, 5));
var n = {}; for (var i = 0; i < str.length; i++) { var chars = str.charAt(i); if (n[chars]) { n[chars]++; } else { n[chars] = 1; } } console.log(n); //先轉換成對象,在遍歷對象求出現最多的字元和次數 var max = 0; var ch = ""; for (b in n) { if (n[b] > max) { max = n[b]; ch = b; } } console.log("出現最多的字元是" + ch + "出現了" + max); */ </script> </body> </html>