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