js面试试题代码
var oil = prompt('請選擇你要選擇的妹紙類型,1號御姐/2號清純') - 0;console.log(typeof sister)var price;if (oil == 1) {var sister = prompt('請選擇為您服務的妹子數量') - 0;if (sister >= 10) {price = sister * 150;alert('客官您好,' + oil + '號妹紙很高興為您服務' + '共有' + sister + '名妹紙陪玩,本次您共消費' + price + '元');} else if (sister > 0) {price = sister * 200;alert('客官您好,' + oil + '號妹紙很高興為您服務' + '共有' + sister + '名妹紙陪玩,本次您共消費' + price + '元');} else {alert('客官兒別鬧,請好好輸出~');}} else if (oil == 2) {var sister = prompt('請選擇為您服務的妹子數量') - 0;if (sister >= 10) {price = sister * 200;alert('客官您好,' + oil + '號妹紙很高興為您服務' + '共有' + sister + '名妹紙陪玩,本次您共消費' + price + '元');} else if (sister > 0) {price = sister * 250;alert('客官您好,' + oil + '號妹紙很高興為您服務' + '共有' + sister + '名妹紙陪玩,本次您共消費' + price + '元');} else {alert('客官兒別鬧,請好好輸出~');}} else {alert('客官兒~,請控制好您的情緒好好輸入~');}
var day = prompt("請輸入周幾,(用1-7)");if (day == '1') {alert('周一好好工作。');} else if (day == '2') {alert('周二制定工作計劃');} else if (day == '3') {alert('周三,lol');} else if (day == '4') {alert('周四,原神');} else if (day == '5') {alert('周五,旅游');} else if (day == '6') {alert('周六,干活');} else {alert('你說錯了');}
作業二方法一var egg = prompt('請輸入雞蛋的數量') - 0;var box = 0; //定義盒子if (egg != '') { //判斷輸入egg不能為空console.log('雞蛋數量:' + egg)if (egg < 20) { //當雞蛋的數量不滿足20個時box++;document.write('您一共買了' + egg + '個雞蛋,共計裝' + box + '個盒子。');} else if (egg % 20 == 0) { //余數為0時box = egg / 20;document.write('您一共買了' + egg + '個雞蛋,共計裝' + box + '個盒子。');} else { // 余數不為0時box = egg / 20;boxRound = parseInt(box) //取整boxRound++document.write('您一共買了' + egg + '個雞蛋,共計裝' + boxRound + '個盒子。');}} else {alert('別鬧!請好好輸入');}方法二1.如果雞蛋數量被20整除則為“商”盒,不被整除的余數<=20為1盒+“商”盒。需要兩個參數。var egg = prompt('請輸入雞蛋數量') - 0, //創建變量,將字符串類型轉換為數字類型//console.log(typeof egg);num = 1,result;if (egg % 20 !== 0) {result = egg % 20;if (result <= 20) {var result = egg / 20;console.log(parseInt(result))alert("您一共放入" + (num + parseInt(result)) + '盒!');}} else {var result = egg / 20;// console.log(result)alert("您一共放入" + result + '盒!');}方法三var a = prompt('請輸入雞蛋數量');var b = 20;var c = a / b;var d = a % b;document.write('一共買了' + a + '個雞蛋' + '需要' + Math.ceil(c) + '盒子')作業三var a = prompt('請輸入一個三位數');var b = a % 10; //獲取個位數console.log(b)//var c = parseInt((a % 100) / 10); //獲取十位數var c = parseInt((a / 10) % 10) //獲取十位數console.log(c)var d = parseInt(a / 100) //獲取百位數console.log(d)var sum = b + c + d;alert('結果:' + sum);作業四var year = prompt('請輸入年份');if (year % 4 == 0 && year % 100 !== 0 || year % 400 == 0) {document.write('您輸入' + year + '年份,為閏年~');} else {document.write('您輸入的' + year + ',該年份不是閏年!');}作業五var a = prompt('請輸入小明同學的成績。') - 0;b = prompt('請輸入小紅同學的成績。') - 0,c = prompt('請輸入小綠同學的成績。') - 0,d = prompt('請輸入小黑同學的成績。') - 0,e = prompt('請輸入小翼同學的成績。') - 0;if (a > 100 || a < 0 || b > 100 || b < 0 || c > 100 || c < 0 || d > 100 || d < 0 || e > 100 || e < 0) {// var i = a;// i = b,// i = c,// i = d,// i = e;alert('同學作弊');}var sum = a + b + c + d + e; //五位同學的成績和console.log(sum)var ave = sum / 5;console.log('五位同學的平均成績')5、 依次輸入五個同學的成績, 求成績的平均值。如果成績輸入的值 小于0 或者 大于100, 表示該同學作弊, 該同學成績為0;求5位同學的平均成績var sum = 0 //定義 總成績 變量for (i = 1; i <= 5; i++) {num = prompt('請輸入' + i + '個同學的成績') - 0;if (num <= 0 || num > 100) {num = 0;console.log('第' + i + '個同學作弊')}console.log('第' + i + '同學的成績:' + num)sum = sum + num; //sum+=num}var avg = sum / 5 // 定義 平均值console.log('五位同學的總成績:' + sum)console.log('五位同學的平均成績:' + avg)var a = 10// 9 10 10 9 9 9 //變化后的值// 9 9 10 9 +9 9 // 公式sum = --a + a++ - a + --a + a + a;console.log(a)console.log(sum)求100以內的偶數和,偶數非0 ,0是自然數,既不是偶數也不是奇數,被2整除是偶數。方法一var sum = 0 //接受總數,求和。for (i = 1; i <= 100; i++) {// console.log(i)if (i % 2 == 0) {// console.log(i)sum = sum + i; // sum+=i}}console.log(sum)方法二var sum = 0;for (i = 2; i <= 100; i += 2) {// console.logsum += i;}console.log(sum)對折紙超出珠穆朗瑪峰的高度var paper = 0.0001;var mountain = 8848;for (i = 1; i > 0; i++) {paper = paper * 2;console.log('對折' + i + '次,指的高度是' + paper + '米')if (paper > mountain) {console.log('對折' + i + '次,指的高度是' + paper + '米超過了珠峰');break;}}模擬計算器,為什么要用swich語句。思路是什么?從哪里開始想?var num1 = prompt('請輸入第一個數字') - 0;var num2 = prompt('請輸入+,——,*,/');var num3 = prompt('請輸入第三個數字') - 0;var sum = 0; //結果switch (num2) {case '+':sum = num1 + num3;alert(sum)break;case '-':sum = num1 - num3;alert(sum)break;case '*':sum = num1 * num3;alert(sum)break;case '/':sum = num1 / num3;alert(sum)break;default:alert('輸入內容有誤')break;}求奇數和方法一var sum = 0for (i = 1; i <= 10; i += 2) {sum = sum + iconsole.log(i)}console.log('奇數和:' + sum)//方法二var sum = 0;for (i = 1; i <= 10; i += 1) {console.log(i)if (i % 2 != 0) {sum += i;}}console.log('奇數和:' + sum)求平均分var score; //每局的成績var avg; //平均分var sum = 0; //總分for (i = 0; i <= 3; i++) {score = prompt('請輸入' + i + '局成績')// isNaN 判斷是不是數字 isNAN('非數字'),結果是true;if (isNaN(score)) {i--;continue;}score -= 0;sum += score;avg = sum / i;}console.log('平均成績:' + avg)找出1-1000以內所有能被5整除,或者6整除的數字,控制臺輸出for (i = 1; i <= 1000; i++) {if (i % 5 == 0 || i % 6 == 0) {console.log(i)}}金字塔for (i = 70; i >= 10; i -= 10) { //i = i - 10var str = '<hr style="width:' + i + '%">'document.write(str)}for (i = 10; i <= 70; i += 10) { //i = i + 10var str = '<hr style="width:' + i + '%">'document.write(str)}while 循環var i = 1; //先循環起始值while (i <= 10) { // while(循環條件)console.log(i) //循環操作i++; //循環迭代}do while 循環特點: 先執行,在判斷,至少會執行一次循環操作。do {循環操作循環迭代}while (循環條件) {}var i = 0;do {console.log('好好學習第' + i + '次')i++;} while (i <= 10);模擬時鐘for (i = 1; i <= 12; i++) {console.log('--- ' + i + '時 ---')//分鐘for (j = 0; j <= 59; j++) {console.log(i + '時' + j + '分');}}第一種 九九乘法表for (var i = 1; i <= 9; i++) { // 先寫外層循環// console.log('外層'+i)for (var j = 1; j <= i; j++) { // 再寫內層循環console.log('內層' + j)document.write(i + '*' + j + '=' + (i * j) + ' ')}document.write('<br>')}第二種 九九乘法表for (var i = 9; i >= 1; i--) {// console.log('外層' + i)for (var j = 1; j <= i; j++) {// console.log('里層' + j)document.write(i + '*' + j + '=' + i * j + ' ');}document.write('<br>')}依次輸入5名學生的成績,如果成績輸入為負數,則強制停止輸入并給出提示;for (var i = 1; i <= 3; i++) {var score = prompt('請輸入第' + i + '名同學的考試成績')if (score < 0 || isNaN(score)) {//輸入有誤直接跳出判斷// alert('輸入有誤!請重新輸入');// break;alert('輸入有誤!請重新輸入');i--continue;}document.write('第' + i + '名同學的成績:' + score + '<br>')}請輸入1班,2班,3班的同學成績for (j = 1; j <= 3; j++) {for (var i = 1; i <= 3; i++) {var score = prompt('請輸入第' + j + '班,第' + i + '名同學的考試成績') - 0if (score < 0 || isNaN(score)) {//輸入有誤直接跳出判斷// alert('輸入有誤!請重新輸入');// break;alert('輸入有誤!請重新輸入');i--continue;}document.write('第' + j + '班,第' + i + '名同學的成績:' + score + '<br>')}}判斷整數是幾位數。var num = prompt('請輸入數字') - 0;for (var i = 1; i > 0; i++) {num = parseInt(num / 10);if (num <= 0) {alert('您輸入的數字,是' + i + '位數')break;}}判斷1000以內的質數外層是被除數, 質數:能被1整除或者可以被自身整除內層是除數,測試課可以被 被除數整除的數for (i = 2; i <= 100; i++) {for (j = 2; j <= i; j++) {if (i % j == 0) {break;}}if (i == j) {document.write('質數是:' + i + '<br>')}}遍歷定義:把數組里面所有的值,一次性取出來。var array = ['峰峰', '彬彬', '賤賤', '龍龍','旭旭','車干','川川','催催'];console.log(array)console.log(array[0]) //數組取值是從0開始取值的。array 方法 找到數組的長度,array.length 長度是從1開始的for (i = 0; i < array.length; i++) {console.log('下標' + i + '是:' + array[i]);}數組添加數據var array = [10, 20, 30, 40, 50];console.log('原始數組:' + array)// array.push(100) // 數組名.push(值),在數組的后邊添加值。// array.unshift('000') // 數組名.unshift(值),在數組的前邊添加值。array.splice(1, 2) // 數組名(a,b) a是從下標那個位置開始刪除的,b是刪除了幾個。console.log('改變后的數組:' + array)遍歷 for in 增強型for循環,取得數組的下標var nums = [10, 20, 30, 40, 50];for (i in nums) {console.log(i)console.log(nums[i])}遍歷 for of 增強型for循環,取得數組的值for (i of nums) {console.log(i)}數組去重var nums = [1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6]console.log('去重前的nums' + nums)for (var i = 0; i < nums.length; i++) {for (var j = i + 1; j < nums.length; j++) {if (nums[i] == nums[j]) {nums.splice(j, 1);j--}}}console.log('去重后的nums:' + nums);等腰三角形方法一: body{ text-align:center}for (var i = 1; i <= 5; i++) {for (var j = 1; j <= 2 * i - 1; j++) {document.write('*')}document.write('<br>')}方法二,補齊空格for (var i = 1; i <= 5; i++) {for (var k = 1; k <= 5 - i; k++) {document.write(' ')}for (var j = 1; j <= 2 * i - 1; j++) {document.write('*')}document.write('<br>')}冒泡排序var arr = [7, 8, 4, 3, 7, 1, 6, 4, 9];console.log('原數組' + arr)for (var i = 0; i <= arr.length; i++) {for (j = i + 1; j <= arr.length; j++) {if (arr[i] < arr[j]) {// var c = arr[j];// arr[j] = arr[i]// arr[i] = cvar c = arr[i];arr[i] = arr[j];arr[j] = c;}}}console.log('降序后的排序:' + arr)sort排序方法對數組里面全是數字進行比較的時候數組名.sort(function (a, b) {return a - b //升序 小→大return b - a // 降序 大→ 小})var arrys = new Array(1, 2, 3)console.log(arrys)判斷數組中a出現的次數方法一:var arr = ['a', 'b', 'd', 'a', 'a', 'c']var index = 0; //計時器,for (var i = 0; i <= arr.length; i++) {console.log(i)if (arr[i] == 'a') {index++;}}方法二:for (var i of arr) {console.log(i)if (i == 'a') {index++;}}方法三:for (var i in arr) {console.log(i)if (arr[i] == 'a') {index++;}}console.log('a出現的次數:' + index)給數組去重并排序var arr = [5, 4, 26, 9, 4, 8, 5, 14];for (i = 0; i <= arr.length; i++) {for (j = i + 1; j <= arr.length; j++) {if (arr[i] == arr[j]) {arr.splice(j, 1);j--;}}}console.log('去重后的數組:' + arr)arr.sort(function (a, b) return a - b;});console.log('去重后的排序數組:' + arr)var num = prompt('請輸入數字') - 0for (i = 1; i >= 0; i++) {num = parseInt(num / 10);// console.log(num)if (num <= 0) {alert('您輸入的數字,是' + i + '位數')break;}}如何獲取內置時間對象時間對象 new Date(); 定義一個類 var dateTime = new Date() //定義了一個內置的時間對象var year = dateTime.getFullYear(); //獲取年document.write(year + '年' + '<br>')var month = dateTime.getMonth() + 1 //獲取月,因為月份是從0開始的document.write(month + '月' + '<br>')var date = dateTime.getDate() //獲取日document.write(date + '日' + '<br>')var h = dateTime.getHours() //獲取小時h = h > 9 ? h : '0' + hh = h >= 10 ? h : '0' + hdocument.write(h + '時' + '<br>')var m = dateTime.getMinutes(); //獲取分document.write(m + '分' + '<br>')var s = dateTime.getSeconds(); //獲取分document.write(s + '秒' + '<br>')獲取星期幾方法一:var week = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']var day = dateTime.getDay();document.write(week[day])方法二var day = dateTime.getDay();day = day == 0 ? '日' : day;document.write('星期' + day)判斷幾天后星期幾var date = new Date;var num = prompt('請輸入幾天后。') - 0;var week = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];var index = (date.getDay() + num) % 7;console.log(date.getDay())console.log(num)console.log((date.getDay() + num))console.log((date.getDay() + num) % 7)document.write(num + '天后' + week[index])編寫時鐘var div_ = document.getElementsByTagName('div')[0];setInterval(function () {var dateTime = new Date(); //聲明的一個內置時間對象的變量var year = dateTime.getFullYear(); //年var month = dateTime.getMonth() + 1; //月month = month > 9 ? month : '0' + month;var date = dateTime.getDate(); //日date = date > 9 ? date : '0' + date;var h = dateTime.getHours(); //小時h = h > 9 ? h : '0' + h;var m = dateTime.getMinutes(); //分鐘m = m > 9 ? m : '0' + m;var s = dateTime.getSeconds() //秒s = s > 9 ? s : '0' + s;var week = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']; //取星期幾var day = dateTime.getDay();day = week[day];var time = year + '年' + ' ' + month + '月' + date + '日' + ' ' + h + ':' + m + ':' + s +' ' + daydiv_.innerHTML = time;}, 1000);查找下標(思路:使用數組來取下標)var str1 = 'abcdcefcc';str1 = str1.split(''); //把字符串分割成數組console.log(str1)var arr1 = [];for (var i = 0; i < str1.length; i++) {console.log(str1[i])if (str1[i] == 'c') {arr1.push(i);}}str1 = str1.join(''); //把數組分割成字符串console.log('字符串:' + str1)console.log('只包含c數組的下標:' + arr1)找出包含a與A在數組中的個數var arr = ['America', 'Greece', 'Britain', 'Canada', 'China', 'Egypt'];var num = 0 //計時器console.log(arr.length)for (var i = 0; i < arr.length; i++) {if (arr[i].indexOf('a') != -1 || arr[i].indexOf('A') != -1) {num++}}console.log('包含a與A在數組中的個數:' + num)數組內容首字母大寫var str = 'border-left-color';//把字符串轉成數組str = str.split('-')console.log(str);for (var i = 0; i < str.length; i++) {str[i] = str[i].substring(0, 1).toUpperCase() + str[i].substring(1);}str = str.join('');console.log(str)生成10--100之間的隨機數var arr = [];for (var i = 0; i < 10; i++) {var num = Math.round(Math.random() * 100);//方法一:// if (num < 10) {// num = num + 10// }// arr.push(num)//方法二num = num < 10 ? num + 10 : num;arr[i] = num;}arr.sort(function (a, b) {return a - b;});console.log(arr)function on() {var val = document.getElementById('ipt').value;console.log('你好')if (val.length == 0) {alert('用戶名不能為空');} else if (val.length < 6) {alert('用戶名不能超過6位數');} else {alert('恭喜你登錄成功')}}使用字符串的方法: 把l篩選出來var str = 'hello';var str1 = '';for (var i = 0; i < str.length; i++) {if (str.charAt(i) == 'l') {// console.log(str.charAt(i))str1 = str1.concat(str.charAt(i));}}console.log(str1)使用數組的方法var str = 'hello';var str_arry = str.split('');// console.log(str_arry)var arry = [];for (var i = 0; i < str_arry.length; i++) {if (str_arry[i] == 'l') {// console.log(str.charAt(i))arry.push(str_arry[i]);}}console.log(arry)var str = '123';var arr = str.split('');console.log(arr);arr.sort(function (a, b) {return b - a;})console.log(arr)<button onclick = 'fn(prompt('請輸入要彈出的次數'>點我 < /button>function fn(num) {for (var i = 1; i <= 5; i++) {document.write(i + '歡迎你')}}JS函數中形參和實參的區別1.形參就是相當于函數中定義的變量。2.實參是在運行時的函數調用時傳入的參數。舉例:function fn(a, b) { //這里的a,b稱為 形參console.log(a); //a=1console.log(b); //b=2}fn(1, 2) //這里的1,2稱為實參,指用來傳遞的參數測試你的性格function fn(name) {var num = Math.round(Math.random() * 10);console.log(num);if (num <= 3) {document.write(name + ',出將入相的不二人選!');} else if (num <= 7) {document.write(name + ',天降紫微星,貴人在眼前!');} else {document.write(name + ',撲通跪倒,吾皇萬歲!');}}問題1function fn(a, b) {return a + b;}fn(3, 5) //為什么沒結果 回答只是去到的結果而已,并沒有打印,或者沒有把值賦值給變量。console.log(fn(3, 5)) //有結果var num = fn(3, 5)console.log(num) //有結果關于 函數() 的解釋。function fn() {console.log('11')return '哈哈哈'}console.log(fn) // 不加()是打印的函數本身 console.log('值:' + fn()) //加()會打印:只有在console.log(fn()),才會共同執行console.log+returnfn; //不加 () 調用函數的本身,但不會立馬執行fn() //加(),正確結論,只有fn()只會執行,打印.錯誤結論:不論里面是console.log還是return,都會執行,走的整個函數體。document.write(fn())function fn1() { //自定義函數}function fn2(a, b) { //帶參函數}fn2(3, 5)var fn3 = function (a, b) { //通過聲明變量來接受函數。再通過調用變量來達到調用函數的目的。alert(a + b)}fn3();自執行函數的第一種寫法。(function (a) { //形參 //自執行函數,函數聲明完之后,需要調用才能夠使用。有些時候需要自執行函數,無需調用自己來執行// //javascript 語句。document.write(a + '自執行函數');})(33) //實參自執行函數的第二方法(function (b) {document.write('我是第二種寫法:' + b)}('嘿嘿'));閉包(保護里面的變量不被污染)function fn() {var num = 0;return function () {num++;console.log(num);undefined}}var fn1 = fn()fn1() // 1fn1() //2對于js函數閉包的理解:function zs() { // 整個函數體都是閉包。var sum = '祖母綠寶石戒指'; // 定義的局部變量return function () { // return 讓這個 子函數叛變,并拿到這個函數叛變的 return 的結果。return sum;}}// console.log(zs) //打印zs整個函數體。// console.log(zs()) //打印 zs return的函數var xzs = zs(); //將zs return的函數賦值給一個新的變量 xzs ,這個時候定義了一個匿名函數。var jz = xzs(); // 拿到xzs return的結果console.log(jz) // 打印 xzs 將return 的結果賦值給jz的結果對js函數閉包的釋放理解。function fn() {var x = 100;return function () { //匿名函數console.log(x)// return x;}}console.log(fn()) //打印fn return的一個結果。var fn1 = fn(); //聲明一個變量,將fn()return的結果賦值給變量 fn1fn1() // 執行fn1()打印的結果為100;console.log(fn1()); //執行fn1()打印以及return的結果為100,100;fn() == null //將該閉包函數進行釋放,fn1()console.log(fn())console.log(fn1 = null)
總結
- 上一篇: 男士穿衣 - 博文预览
- 下一篇: matlab 谐波电压含有量,电流平均值