日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Python学习 Day28 JS函数(二)

發布時間:2023/12/14 javascript 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python学习 Day28 JS函数(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JS函數(二)

(一)return關鍵字

  • 關鍵字return一般結合函數一起使用。而且需要注意,這個關鍵字一般只能在函數體中使用
  • 作用:
    1.函數體中如果遇見關鍵字return,函數體后面語句不再執行
    2.函數體中關鍵字可以將計算完結果返回【函數體外部可以獲取函數返回結果】
//第一個作用function fun(){console.log('水面清圓');console.log('一一風荷舉');return;console.log('疏影橫斜');}fun();

//第二個作用function bigStar(){//聲明一個局部變量var str = '野渡無人舟自橫';//將函數體中數據【計算完結果】返回給函數體外面,函數體外可以獲取函數返回結果return str;}var result = bigStar();console.log(result);

//封裝一個函數:函數兩個功能是計算兩個數之和function add(num1,num2){return num1 + num2;}var result = add(13,45);console.log(result);


(二)練習

  • 概述:函數(function),主要的作用是將某個功能進行封裝,我們可以重復利用函數功能
  • 函數使用:分為聲明和調用

習題1——水仙花數

//封裝一個函數:判斷某數是否為水仙花數,若是,則返回真,否則返回假function isNarcissus(num){//獲取當前數字個、十、百var ge = num % 10,shi = parseInt(num / 10 % 10),bai = parseInt(num / 100);//獲取當前數字個、十、百的立方var result = Math.pow(ge,3)+Math.pow(shi,3)+Math.pow(bai,3);//判斷是不是水仙花數字if(result == num){return true;}else{return false;}}var bo1 = isNarcissus(567);var bo2 = isNarcissus(153); console.log(bo1);console.log(bo2);

/*函數結合循環語句使用在控制臺中打印出三位數字當中的水仙花數*/for(var n = 100;n < 1000;n++){if(isNarcissus(n)){console.log(n+'是水仙花數');}}

習題2——完美數

  • 設計一個函數:判斷某數是否為完美數字,若是則返回true,否則返回false
  • 完美數字:
    比如:數字6的約數1、2、3之和等于這個數字本身即為完美數字
function isWanMei(num){//累加器var sum = 0;//先找到num變量存儲的這個數字的約數有哪些for(var i = 1;i < num;i++){if(num % i == 0){sum += i;}}//經過循環語句遍歷以后可以計算出當前數字num的約數之和//判斷當前數字是否是完美數if(num == sum){return true;}else{return false;}}//調用函數console.log(isWanMei(45));

//判斷1-1000之間的完美數字有哪些for(var k =1;k <= 1000;k++){if(isWanMei(k)){console.log(k+'是完美數');}}


(三)表達式形式函數

  • 概述:在JS當中函數有兩種形式:
    第一種:關鍵字function定義的函數
    第二種:表達式形式函數,就是將關鍵字function定義的函數賦值給變量形式
  • 表達式形式的函數中,可以省略關鍵字形式函數的名字【匿名函數】
//表達式形式函數 聲明var poem = function (){console.log('水面清圓');}//表達式形式函數 調用poem();poem();


(四)關鍵字形式函數與表達式形式函數的區別

  • 概述:兩者功能都是一樣的(都是可以將某一個功能進行封裝,當你想用這個功能的時候,調用即可)
  • 但是,它們兩者在使用的時候語法有一些注意事項

  • 表達式形式的函數:只能在聲明后才能調用
  • 表達式形式的函數:由于變量聲明部分提升(提升到當前作用域最上方),因此是undefined
//表達式形式函數//聲明//fun() 注意:此處為錯誤寫法var fun = function (){console.log('我是表達式形式的函數');}fun();

  • 關鍵字函數可以在聲明之前、聲明之后調用
  • 由于解析器可以將關鍵字形式函數的聲明部分提升到當前作用域的最上方
isOdd(657);//奇數//聲明部分function isOdd(num){if(num % 2 != 0){alert('奇數');}else{alert('偶數');}//調用isOdd(4);isOdd(43);}

(五)回調函數

CallBack回調函數

  • 概述:當一個函數執行的時候,傳遞的實參是另外一個函數聲明部分。這個實參(函數)即為回調函數
//聲明函數function promise(a,b,callback){callback();//在函數體內調用回調函數callback();callback();}//下面函數出現回調函數promise(1,'水面清圓',function(){console.log('我是函數形式的實參,我被執行了');});


(六)函數遞歸

  • 概述:在很多編程語言中,都有函數直接或間接調用自身這種現象【遞歸】
//函數的使用分為兩部分:聲明和調用function add(){//函數體中可以書寫任意語句console.log('水面清圓');//函數調用自身add();//死循環}//調用函數add();

(七)IIFE

(1)概述

【immediately invoing function express】

  • 概述:IIFE在聲明表達式形式函數的同時,立刻馬上執行一次
//表達式形式函數 聲明部分var fun = function (){console.log('我被執行了');}(); //只有表達式形式函數聲明部分后才能緊隨(),立刻執行一次function sun(){console.log('我是關鍵字形式函數,聲明部分之后不能緊隨()');}() //注意:此為錯誤寫法

(2)IIFE其他寫法

  • 關鍵字形式函數后面不能緊隨小括號立即執行。但是程序員可以通過一些手段【加、減、非、小括號】,
    將關鍵字形式函數變為表達式形式函數,立即執行一次(IIFE)
+function (){console.log('+號可以將關鍵字形式函數變為表達式形式函數');}();-function (){console.log('-號可以將關鍵字形式函數變為表達式形式函數');}();!function (){console.log('!號可以將關鍵字形式函數變為表達式形式函數');}();(function (){console.log('()號(包含整個聲明部分)可以將關鍵字形式函數變為表達式形式函數');})();

(3)IIFE的作用域

  • 每一個IIFE都有屬于自己的獨立的作用域,彼此互不影響
//第一個IIFE+function(a){a += 99;console.log(a);}(100);//第二個IIFE+function(a){a += 3;console.log(a);}(44);

總結

以上是生活随笔為你收集整理的Python学习 Day28 JS函数(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。