JS函數(shù)

函數(shù)洪规,也稱之為方法违崇,是完成某個(gè)功能的代碼塊

function 是定義函數(shù)的關(guān)鍵字

函數(shù)分為:1.無(wú)參函數(shù) 2.帶參函數(shù) 3.帶返回值的函數(shù)

1.定義無(wú)參函數(shù)土辩,函數(shù)的()里面沒(méi)有定義參數(shù)遭赂,這樣的函數(shù)就是無(wú)參函數(shù)

? ? ? ? function fun1(){

? ? ? ? ? ? let num1 = 100

? ? ? ? ? ? let num2 = 200

? ? ? ? ? ? console.log(`${num1}+${num2}=${num1+num2}`);? ?

? ? ? ? }

? ? ? ? 函數(shù)必須要調(diào)用后潜索,才會(huì)執(zhí)行里面的代碼

? ? ? ? fun1()? ???//輸出100+200=300

? ? ? ? console.log('----------------------------');

2.定義帶參數(shù)函數(shù)臭增,函數(shù)的()里面需要傳參數(shù),參數(shù)可以傳多個(gè)竹习,參數(shù)名是自定義的

? ? ? ? 函數(shù)在定義時(shí)候誊抛,定義的參數(shù)是:形參

? ? ? ? function fun2(num1,num2){

? ? ? ? ? ? console.log(`${num1}+${num2}=${num1+num2}`);? ??

? ? ? ? }

? ? ? ? 帶有帶參數(shù)的函數(shù)時(shí),傳遞具體的實(shí)際值(函數(shù)在調(diào)用時(shí)整陌,傳遞的參數(shù)是:實(shí)參)

? ? ? ? fun2(100,200)? ??//輸出100+200=300

? ? ? ? fun2(1000,2000)? ??//輸出1000+2000=3000

? ? ? ? fun2(10,20)? ??//輸出10+20=30

? ? ? ? 調(diào)用帶參數(shù)的方法時(shí)拗窃,如果沒(méi)有傳遞參數(shù)瞎领,那么參數(shù)就是值就是undefined

? ? ? ? fun2()? ??//輸出undefined+undefined=NaN

? ? ? ? console.log('----------------------------');

3.帶返回值的函數(shù)

? ? ? ? function fun3(num1,num2){

? ? ? ? ? ? let sum = num1+num2

? ? ? ? ? ? return關(guān)鍵字,只能用的函數(shù)中随夸,用于返回函數(shù)的執(zhí)行結(jié)果

? ? ? ? ? ? return sum;

? ? ? ? }

? ? ? ? 調(diào)用帶返回值的函數(shù)九默,需要通過(guò)變量接收函數(shù)的返回值。

? ? ? ? let sum = fun3(100,200)

? ? ? ? console.log(sum);????//輸出300


定義函數(shù)真正的作用宾毒,其實(shí)就對(duì)代碼進(jìn)行封裝驼修,讓一段代碼可以重復(fù)使用。

1.定義一個(gè)格式化日期的方法

?function formatDate(date){

? ? //獲取年月日诈铛,時(shí)分秒

? ? let year = date.getFullYear()

? ? let month = date.getMonth() + 1

? ? let day = date.getDate()

? ? let hour = date.getHours()

? ? let minute = date.getMinutes()

? ? let second = date.getSeconds()

? ? //將獲取到的時(shí)間信息邪锌,拼接成一個(gè)字符串

? ? let str = [repair0(year), repair0(month), repair0(day)].join('-') +

? ? ' ' + [repair0(hour), repair0(minute), repair0(second)].join(':')

? ? return str

}

2.定義一個(gè)補(bǔ)零的方法

function repair0(num){

? ? return (num+'').length>1 ? num : '0'+num

? ? ? ? //轉(zhuǎn)字符串

}

3.定義一個(gè)對(duì)數(shù)組排序的方法

function mySort(arr){

? ? // 第一層循環(huán),控制每輪選擇的數(shù)

? ? for(let i=0;i<arr.length-1;i++){

? ? ? ? // 第二層循環(huán)癌瘾,控制每輪參與比較的數(shù)(第一輪觅丰,j從1-4;第二輪妨退,j從2-4)

? ? ? ? for(let j=i+1;j<arr.length;j++){

? ? ? ? ? ? //如果選擇的數(shù) 大于 參與比較的數(shù) 就互換

? ? ? ? ? ? if(arr[i] > arr[j]){

? ? ? ? ? ? ? ? let temp = arr[i]

? ? ? ? ? ? ? ? arr[i] = arr[j]

? ? ? ? ? ? ? ? arr[j] = temp

? ? ? ? ? ? }

? ? ? ? }

? ? }

}

<!-- 導(dǎo)入外部js -->

? ? <script src="./js/kai.js"></script>

? ? <script>

? ? ? ? //創(chuàng)建一個(gè)當(dāng)前日期

? ? ? ? let date1 = new Date()

? ? ? ? //創(chuàng)建一個(gè)指定日期

? ? ? ? let date2 = new Date('2020-1-1 12:8:8')

? ? ? ? //根據(jù)時(shí)間戳創(chuàng)建一個(gè)日期對(duì)象

? ? ? ? let date3 = new Date(123234214213)

? ? ? ? console.log(formatDate(date1));? ? //輸出2021-11-26 10:15:21

? ? ? ? console.log(formatDate(date2));? ??//輸出2020-01-01 12:08:08

? ? ? ? console.log(formatDate(date3));? ??//輸出1973-11-27 15:43:34

? ? ? ? console.log('-----------------------------');

? ? ? ? let arr1 = [11,66,33,245,7,99]

? ? ? ? let arr2 = [77,234,5,66,28]

? ? ? ? mySort(arr1)

? ? ? ? mySort(arr2)

? ? ? ? console.log(arr1);? ??//輸出(6)?[7, 11, 33, 66, 99, 245]

? ? ? ? console.log(arr2);? ??//輸出(5)?[5, 28, 66, 77, 234]


手寫(xiě)實(shí)現(xiàn)字符串的函數(shù)

let str = 'abcdefg'

1.獲取一個(gè)字符串指定下標(biāo)的字符

? ? ? ? function charAt(index){

? ? ? ? ? ? return str[index]

? ? ? ? }

? ? ? ? console.log(charAt(3));? ? //輸出d

? ? ? ? console.log('------------------------------');

2.定義一個(gè)函數(shù)妇萄,返回字符串中指定字符第一次出現(xiàn)的位置

? ? ? ? let str2 = "abc你好def你好gwt"

? ? ? ? function indexOf(str){

? ? ? ? ? ? let index = -1; ? ? //定義一個(gè)變量,用于表述字符串的位置

? ? ? ? ? ? //循環(huán)出字符串中所有的字符串

? ? ? ? ? ? for(let i=0;i<str2.length;i++){

? ? ? ? ? ? ? ? if(str2[i]===str){

? ? ? ? ? ? ? ? ? ? //如果相對(duì)咬荷,就返回對(duì)應(yīng)的下標(biāo)

? ? ? ? ? ? ? ? ? ? index = i;

? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? ? ? return index;

? ? ? ? }

? ? ? ? console.log(indexOf('你'));? ??//輸出3

? ? ? ? console.log(indexOf('好'));? ??//輸出4

? ? ? ? console.log('------------------------------');

3.定義一個(gè)函數(shù):返回字符串中指定字符最后一次出現(xiàn)的位置

? ? ? ? function lastIndexOf(str){

? ? ? ? ? ? let index = -1 ?//定義一個(gè)變量冠句,用于表述字符串的位置

? ? ? ? ? ? //循環(huán)出字符串中所有的字符串

? ? ? ? ? ? for(let i=str2.length-1;i>=0;i--){

? ? ? ? ? ? ? ? //挨個(gè)比較字符串中所有的字符

? ? ? ? ? ? ? ? if(str2[i]===str){

? ? ? ? ? ? ? ? ? ? //如果相對(duì),就返回對(duì)應(yīng)的下標(biāo)

? ? ? ? ? ? ? ? ? ? index = i;

? ? ? ? ? ? ? ? ? ? break

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? ? ? return index

? ? ? ? }

? ? ? ? console.log(lastIndexOf('你'));? ??//輸出8

? ? ? ? console.log(lastIndexOf('好'));? ??//輸出9

? ? ? ? console.log('-----------------------------');

4.定義一個(gè)函數(shù):用于截取指定區(qū)間范圍內(nèi)的字符串幸乒,如果只傳一個(gè)參數(shù)懦底,從起始位置往后全部截取

? ? ? ? let str3 = 'abcdefghijklmn'

? ? ? ? function substring(index1,index2){

? ? ? ? ? ? let sum = ''; ? //定義一個(gè)變量,用于保存截取的結(jié)果

? ? ? ? ? ?//如果index2沒(méi)有值罕扎,截取到最后

? ? ? ? ? ? if(index2==null){

? ? ? ? ? ? ? ? for(let i=index1;i<str3.length;i++){

? ? ? ? ? ? ? ? sum+=str3[i];

? ? ? ? ? ? }

? ? ? ? ? ? }else{

? ? ? ? ? ? ? ? //確定循環(huán)的范圍

? ? ? ? ? ? ? ? for(let i=index1;i<index2;i++){

? ? ? ? ? ? ? ? ? ? sum+=str3[i];

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? ? ? return sum;

? ? ? ? }

? ? ? ? console.log(substring(3,7));? ??//輸出defg

? ? ? ? console.log(substring(3));? ??//輸出defghijklmn

? ? ? ? console.log('------------------------------');

5.定義一個(gè)函數(shù):用于截取指定長(zhǎng)度的字符串聚唐,第一個(gè)參數(shù)是位置,第二個(gè)參數(shù)是長(zhǎng)度

? ? ? ? function substr(index,len){

? ? ? ? ? ? let sum = ''; ? //定義一個(gè)變量腔召,用于保存截取的結(jié)果

? ? ? ? ? ? //如果len是空杆查,那么就從起始位置到最后全部截取

? ? ? ? ? ? if(!len){

? ? ? ? ? ? ? ? for(let i=index;i<str3.length;i++){

? ? ? ? ? ? ? ? sum+=str3[i];

? ? ? ? ? ? }

? ? ? ? ? ? }else{

? ? ? ? ? ? ? ? for(let i=index;i<index+len;i++){

? ? ? ? ? ? ? ? ? ? sum+=str3[i];

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? ? ? return sum;

? ? ? ? }

? ? ? ? console.log(substr(3,7));? ??//輸出defghij

? ? ? ? console.log(substr(3));? ??//輸出defghijklmn


手寫(xiě)實(shí)現(xiàn)數(shù)組的函數(shù)

1.手寫(xiě)一個(gè)數(shù)組函數(shù),用于從數(shù)組中檢查指定的數(shù)據(jù)是否存在臀蛛,存在返回true亲桦,不存在返回false

? ? ? ? let arr1 = [11, 22, 33, 44, 55]

? ? ? ? function includes(val) {

? ? ? ? ? ? let isFind = false; //定義一個(gè)變量,用于表示是否找到

? ? ? ? ? ? //循環(huán)數(shù)組

? ? ? ? ? ? for (let i = 0; i <= arr1.length; i++) {

? ? ? ? ? ? ? ? //判斷數(shù)組中的每一個(gè)元素

? ? ? ? ? ? ? ? if (arr1[i] == val) {

? ? ? ? ? ? ? ? ? ? isFind = true;

? ? ? ? ? ? ? ? ? ? break; ?//加上這個(gè)break浊仆,可以提高性能

? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? return isFind;

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? console.log(includes(33));? ? //輸出true

? ? ? ? console.log(includes(88));? ? //輸出false

? ? ? ? console.log('----------------------');

2.手寫(xiě)一個(gè)數(shù)組函數(shù):用于將一個(gè)數(shù)組根據(jù)某個(gè)字符串拼接成字符串客峭,該方法不傳參數(shù),默認(rèn)是根據(jù)逗號(hào)拼接

? ? ? ? function join(str) {

? ? ? ? ? ? let sum = '' ? ?//定義一個(gè)字符串抡柿,用于拼接

? ? ? ? ? ? //如果str是空舔琅,賦值為逗號(hào)

? ? ? ? ? ? if (str == null) {

? ? ? ? ? ? ? ? for (let i = 0; i < arr1.length - 1; i++) {

? ? ? ? ? ? ? ? ? ? sum += arr1[i] + ','

? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? sum += arr1[arr1.length - 1]

? ? ? ? ? ? ? ? return sum;

? ? ? ? ? ? } else {

? ? ? ? ? ? ? ? //拼接數(shù)組最后一位前面的所有數(shù)據(jù)

? ? ? ? ? ? ? ? for (let i = 0; i < arr1.length - 1; i++) {

? ? ? ? ? ? ? ? ? ? sum += arr1[i] + str

? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? //最后再拼接數(shù)組的最后一位

? ? ? ? ? ? ? ? sum += arr1[arr1.length - 1]

? ? ? ? ? ? ? ? return sum;

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? console.log(join('你好'));? ???//輸出11你好22你好33你好44你好55

? ? ? ? console.log(join());? ???//輸出11,22,33,44,55

? ? ? ? console.log('-------------------------');

3.手寫(xiě)push

? ? ? ? function push(val) {

? ? ? ? ? ? //增加一個(gè)數(shù)組空間,存儲(chǔ)數(shù)據(jù)

? ? ? ? ? ? arr1[arr1.length] = val

? ? ? ? }

? ? ? ? push(66)

? ? ? ? console.log(arr1);? ???//輸出(6)?[11, 22, 33, 44, 55, 66]

? ? ? ? push(77)

? ? ? ? console.log(arr1);? ???//輸出(7)?[11, 22, 33, 44, 55, 66, 77]

? ? ? ? console.log('-------------------------');

4.手寫(xiě)pop

? ? ? ? function pop() {

? ? ? ? ? ? //重新設(shè)置數(shù)組的長(zhǎng)度沙绝,會(huì)去掉最新長(zhǎng)度后面的元素搏明。

? ? ? ? ? ? arr1.length = arr1.length - 1

? ? ? ? }

? ? ? ? pop()

? ? ? ? console.log(arr1);? ???//輸出(6)?[11, 22, 33, 44, 55, 66]

? ? ? ? console.log('-------------------------');

5.手寫(xiě)unshift

? ? ? ? function unshift(str) {

? ? ? ? ? ? let strs = []

? ? ? ? ? ? strs[0] = str

? ? ? ? ? ? for (let i = 1; i <= arr1.length; i++) {

? ? ? ? ? ? ? ? strs[i] = arr1[i - 1]

? ? ? ? ? ? }

? ? ? ? ? ? return strs;

? ? ? ? }

? ? ? ? console.log(unshift(33));? ???//輸出(7)?[33, 11, 22, 33, 44, 55, 66]

6.手寫(xiě)shift

? ? ? ? function shift(arr) {

? ? ? ? ? ? let strs = []

? ? ? ? ? ? for (let i = 0; i < arr.length - 1; i++) {

? ? ? ? ? ? ? ? strs[i] = arr[i + 1]

? ? ? ? ? ? }

? ? ? ? ? ? return strs;

? ? ? ? }

? ? ? ? console.log(shift(arr1));? ???//輸出(5)?[22, 33, 44, 55, 66]

7.手寫(xiě)reverse

方法一:

? ? ? ? function reverse() {

? ? ? ? ? ? let strs = [];

? ? ? ? ? ? let len = arr1.length;

? ? ? ? ? ? for (let j = 0; j < len; j++) {

? ? ? ? ? ? ? ? for (let i = len - 1; i >= j; i--) {

? ? ? ? ? ? ? ? ? ? strs[j] = arr1[i];

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? ? ? return strs;

? ? ? ? }

? ? ? ? console.log(reverse());? ???//輸出(6)?[11, 22, 33, 44, 55, 66]

方法二:

? ? ? ? /* function reverse() {

? ? ? ? ? ? //算出比較的次數(shù)(6個(gè)數(shù)比較3次鼠锈,7個(gè)數(shù)也是比較3次)

? ? ? ? ? ? let count = Math.floor(arr1.length / 2)

? ? ? ? ? ? //循環(huán)比較的次數(shù)

? ? ? ? ? ? for (let i = 0; i < count; i++) {

? ? ? ? ? ? ? ? //將前面的數(shù)闪檬,通過(guò)一個(gè)中間變量保存

? ? ? ? ? ? ? ? let temp = arr1[i]

? ? ? ? ? ? ? ? //將后面的數(shù)賦值給前面的數(shù)

? ? ? ? ? ? ? ? arr1[i] = arr1[arr1.length - 1 - i]

? ? ? ? ? ? ? ? //再將中間變量的值星著,賦給后面的數(shù)

? ? ? ? ? ? ? ? arr1[arr1.length - 1 - i] = temp

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? reverse()

? ? ? ? console.log(arr1); */

定義函數(shù)的三種方式

1.第一種方式:通過(guò)function關(guān)鍵字直接定義

? ? ? ? function fun1(){

? ? ? ? ? ? console.log('我是方法一');

? ? ? ? }

? ? ? ? fun1()? ? ? ? //輸出我是方法一

2.第二種方式:定義一個(gè)變量,接收定義的函數(shù)

? ? ? ? let fun2 = function(){

? ? ? ? ? ? console.log('我是方法二');

? ? ? ? }

? ? ? ? fun2();????????//輸出我是方法二

3.第三種方式:箭頭函數(shù)粗悯,其實(shí)就是第二種方式的簡(jiǎn)寫(xiě)虚循。(ES6新推出的一種方式)

? ? ? ? let fun3 = ()=>{

? ? ? ? ? ? console.log('我是方法三');

? ? ? ? }

? ? ? ? fun3()????????//輸出我是方法三

? ? ? ? console.log('---------------------');

? ? ? ? /* let fun4 = (num1,num2)=>{

? ? ? ? ? ? return num1 + num2

? ? ? ? } */

4.如果箭頭函數(shù)的函數(shù)體,只有一條語(yǔ)句样傍,可以省略大括號(hào)横缔,如果這一條語(yǔ)句還是返回語(yǔ)句,return關(guān)鍵字必須省略

? ? ? ? let fun4 = (num1,num2)=>num1 + num2

? ? ? ? console.log(fun4(100,200));????????//輸出300

? ? ? ? let fun5 = (num1,num2)=>console.log(`${num1}+${num2}=${num1+num2}`);

? ? ? ? fun5(100,200)????????//輸出100+200=300

5.如果箭頭函數(shù)的參數(shù)衫哥,只有一個(gè)茎刚,那么可以省略小括號(hào)

? ? ? ? let fun6 = num=>console.log(num*3);

? ? ? ? fun6(100)????????//輸出300

6.如果箭頭函數(shù)沒(méi)有參數(shù),通常要保留小括號(hào)撤逢,如果非要去掉小括號(hào)膛锭,需要寫(xiě)一個(gè)下劃線占一個(gè)位置

? ? ? ? let fun7 = _=>console.log('我是箭頭函數(shù)')

? ? ? ? fun7()????????//輸出我是箭頭函數(shù)


定義幾個(gè)工具方法

1.判斷是否是閏年的方法

? ? ? ? let isLeapYear = year => year % 4 === 0 && year % 100 !== 0 || year % 400 === 0

2. 對(duì)個(gè)位數(shù)字補(bǔ)零的方法

? ? ? ? let repair0 = val => val < 10 ? '0' + val : val

3.返回一個(gè)日期的短日期格式方法

? ? ? ? let miniDate = (date, type) => {

????????let year = date.getFullYear(); //年

????????let month = date.getMonth() + 1; //月

????????let day = date.getDate(); //日

????????let hour = date.getHours(); //時(shí)

????????let minute = date.getMinutes(); //分

????????let second = date.getSeconds(); //秒

????????let week = date.getDay(); //周幾

4.定義一個(gè)返回值,默認(rèn)拼接:年蚊荣,月初狰,日

? ? ? ? let ret = [repair0(year), repair0(month), repair0(day)].join("-");

? ? ? ? if (type == "1") {

? ? ? ? ? ? ret += " " + [repair0(hour), repair0(minute), repair0(second)].join(":");

? ? ? ? } else if (type == "2") {

? ? ? ? ? ? ret +=

? ? ? ? ? ? ? ? " " +

? ? ? ? ? ? ? ? [repair0(hour), repair0(minute), repair0(second)].join(":") +

? ? ? ? ? ? ? ? " 星期" +

? ? ? ? ? ? ? ? "日一二三四五六"[week];

????????}

? ? ? ? return ret;

????????};

5.對(duì)字符串反轉(zhuǎn)的方法

? ? ? ? let reverseStr = str => str.split('').reverse().join('');


? ? ? ? console.log(isLeapYear(2000));? ? //輸出true

? ? ? ? console.log(isLeapYear(2003));? ??//輸出false

? ? ? ? console.log('------------------------');

? ? ? ? console.log(repair0(15));? ??//輸出15

? ? ? ? console.log(repair0(5));? ??//輸出05

? ? ? ? console.log('------------------------');

? ? ? ? console.log(miniDate(new Date()));? ??//輸出2021-11-26

? ? ? ? console.log(miniDate(new Date(), '1'));? ??//輸出2021-11-26 11:36:56

? ? ? ? console.log(miniDate(new Date(), '2'));? ??//輸出2021-11-26 11:36:56 星期五

? ? ? ? console.log('------------------------');

? ? ? ? console.log(reverseStr('abcdefg'));? ??//輸出gfedcba


遞歸方法

什么是遞歸方法:就是一個(gè)方法,自己調(diào)用自己

? ? ? ? // 注意:遞歸方法互例,一定要控制好何時(shí)跳出奢入,否則就是死循環(huán)

? ? ? ? // 經(jīng)典面試題:使用遞歸算法1-20之間所有數(shù)之和

? ? ? ? function calc(num){

? ? ? ? ? ? //這個(gè)if是退出遞歸的條件

? ? ? ? ? ? if(num===1) {

? ? ? ? ? ? ? ? return num

? ? ? ? ? ? }

? ? ? ? ? ? return num + calc(num-1)

? ? ? ? }

? ? ? ? console.log(calc(1));? ? //輸出1

? ? ? ? console.log(calc(2));????//輸出3

? ? ? ? console.log(calc(3));????//輸出6

? ? ? ? console.log(calc(20));????//輸出210

遞歸方法的實(shí)際應(yīng)用

實(shí)現(xiàn)系統(tǒng)菜單

方法一:用循環(huán)

? ? ? ? function fun1(){

? ? ? ? ? ? let menu = 0

? ? ? ? ? ? do{

? ? ? ? ? ? ? ? menu = parseInt(prompt('1.添加 2.修改 3.刪除 4.查詢 0.退出'))

? ? ? ? ? ? ? ? switch(menu){

? ? ? ? ? ? ? ? ? ? case 1:

? ? ? ? ? ? ? ? ? ? ? ? alert('執(zhí)行添加')

? ? ? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? ? ? ? ? case 2:

? ? ? ? ? ? ? ? ? ? ? ? alert('執(zhí)行修改')

? ? ? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? ? ? ? ? case 3:

? ? ? ? ? ? ? ? ? ? ? ? alert('執(zhí)行刪除')

? ? ? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? ? ? ? ? case 4:

? ? ? ? ? ? ? ? ? ? ? ? alert('執(zhí)行查詢')

? ? ? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? ? ? ? ? default:

? ? ? ? ? ? ? ? ? ? ? ? alert('歡迎下次繼續(xù)使用');

? ? ? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }while(menu!==0)

? ? ? ? }

? ? ? ? // fun1()

方法二:用遞歸

? ? ? ? function fun2(){

? ? ? ? ? ? let menu = parseInt(prompt('1.添加 2.修改 3.刪除 4.查詢 0.退出'))

? ? ? ? ? ? switch(menu){

? ? ? ? ? ? ? ? case 1:

? ? ? ? ? ? ? ? ? ? alert('執(zhí)行添加')

? ? ? ? ? ? ? ? ? ? fun2()??? ? //在方法內(nèi)部,又重新調(diào)用自己

? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? ? ? case 2:

? ? ? ? ? ? ? ? ? ? alert('執(zhí)行修改')

? ? ? ? ? ? ? ? ? ? fun2()

? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? ? ? case 3:

? ? ? ? ? ? ? ? ? ? alert('執(zhí)行刪除')

? ? ? ? ? ? ? ? ? ? fun2()

? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? ? ? case 4:

? ? ? ? ? ? ? ? ? ? alert('執(zhí)行查詢')

? ? ? ? ? ? ? ? ? ? fun2()

? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? ? ? default:

? ? ? ? ? ? ? ? ? ? alert('歡迎下次繼續(xù)使用');

? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? fun2()

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末媳叨,一起剝皮案震驚了整個(gè)濱河市腥光,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌糊秆,老刑警劉巖柴我,帶你破解...
    沈念sama閱讀 222,183評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異扩然,居然都是意外死亡艘儒,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門夫偶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)界睁,“玉大人,你說(shuō)我怎么就攤上這事兵拢》澹” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,766評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵说铃,是天一觀的道長(zhǎng)访惜。 經(jīng)常有香客問(wèn)我嘹履,道長(zhǎng),這世上最難降的妖魔是什么债热? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,854評(píng)論 1 299
  • 正文 為了忘掉前任砾嫉,我火速辦了婚禮,結(jié)果婚禮上窒篱,老公的妹妹穿的比我還像新娘焕刮。我一直安慰自己,他們只是感情好墙杯,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布配并。 她就那樣靜靜地躺著,像睡著了一般高镐。 火紅的嫁衣襯著肌膚如雪溉旋。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,457評(píng)論 1 311
  • 那天嫉髓,我揣著相機(jī)與錄音观腊,去河邊找鬼。 笑死岩喷,一個(gè)胖子當(dāng)著我的面吹牛恕沫,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播纱意,決...
    沈念sama閱讀 40,999評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼婶溯,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了偷霉?” 一聲冷哼從身側(cè)響起迄委,我...
    開(kāi)封第一講書(shū)人閱讀 39,914評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎类少,沒(méi)想到半個(gè)月后叙身,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,465評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡硫狞,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評(píng)論 3 342
  • 正文 我和宋清朗相戀三年信轿,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片残吩。...
    茶點(diǎn)故事閱讀 40,675評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡财忽,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出泣侮,到底是詐尸還是另有隱情即彪,我是刑警寧澤,帶...
    沈念sama閱讀 36,354評(píng)論 5 351
  • 正文 年R本政府宣布活尊,位于F島的核電站隶校,受9級(jí)特大地震影響漏益,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜深胳,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評(píng)論 3 335
  • 文/蒙蒙 一绰疤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧稠屠,春花似錦峦睡、人聲如沸翎苫。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,514評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)煎谍。三九已至攘蔽,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間呐粘,已是汗流浹背满俗。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,616評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留作岖,地道東北人唆垃。 一個(gè)月前我還...
    沈念sama閱讀 49,091評(píng)論 3 378
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像痘儡,于是被迫代替她去往敵國(guó)和親辕万。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評(píng)論 2 360

推薦閱讀更多精彩內(nèi)容