Python JS基礎 基礎結構 函式

2022-06-23 18:39:13 字數 2241 閱讀 5674

四、函式初級

什麼是函式: 具有特定功能的**塊

函式與方法的區別: 呼叫方式的不同: 函式通過函式名 | 方法通過呼叫者.語法呼叫

如何定義函式:

function 函式名(引數列表)

函式的分類:

無參函式:

function fn1()

fn1();

有參函式:

function fn2(a,b)

fn2(10,20);

1、函式的定義

es5中定義函式

function 函式名 (引數列表)

​var 函式名 = function (引數列表)

es6中定義函式

let 函式名 = (引數列表) =>

匿名函式

(function (引數列表) )

​// 匿名函式需要自呼叫

(function (引數列表) )(引數列表);

var fn3=function()

fn3();

匿名函式的自呼叫:

(function())()

為什麼要出現匿名函式的自呼叫

在es5 的時候,沒有塊級作用域的概念,想要產生區域性作用域的變數只能通過在函式體內部定義變數了, 所以匿名函式的自呼叫很多時候是為了生成乙個區域性的作用域

(function())();

2、函式的呼叫

函式名(引數列表)

注意: 函式的呼叫()一定不可以省略,引數列表看情況(不管需不需要,均可以傳或不傳)

系統不會在()()之間新增; 作為結束語句,需要新增分號時一定需要手動新增

3、函式的引數

js中有參函式呼叫的原則:

js中只有位置引數,沒有關鍵字引數

傳引數的時候, 無論傳多少個值,嚴格按照位置引數進行一一對應進行傳值, 多傳的引數沒有對應的位置引數進行接收時會自動被丟棄

在傳參的時候指定哪個值為多少時要按照位置進行傳值,按照引數名進行傳值是無效的

function func1()

// 傳不傳引數均可以呼叫

func1();

func1(10, 20);

function func2(a, b)

func2()

func2(10)

func2(10, 20)

func2(10, 20, 30)

預設值引數

使用預設值引數時,傳入的值也是按照位置進行傳值的

不管該位置引數是否有預設引數,只要該位置有值傳進來該位置上的引數值就會被替代

function func3(a, b=20, c, d=40)

var temp = 1000;

func3(10, 100, temp)  // 函式呼叫傳入的實際值,或擁有實際值的變數為實參

js中函式傳參時的大致規則:

個數不需要統一

function fn (a, b, c)

fn(100);

​function fn (a)

fn(100, 200, 300)  // 200,300被丟棄

可以任意位置具有預設值

function fn (a, b=20, c, d=40)

fn(100, 200, 300);

通過...語法接收多個值

function fn (a, ...b)

fn(100, 200, 300);

// ...變數必須出現在引數列表最後

函式的引數小結::

1.實參與形參個數可以不匹配,隨意規定

2.形參可以設定預設值(並非為py中的關鍵字引數)

3.實參對形參進行傳值時,完全採用位置匹配(eg:第n個實參一定將值傳遞給第n個形參)

4、返回值

function fn ()

// 1.可以空return操作,用來結束函式

// 2.返回值可以為任意js型別資料

// 3.函式最多只能擁有乙個返回值

js的函式只能返回乙個值, 這個值可以為任意型別(如果想返回多個值,將多個值放到陣列或物件中)

let func4 = () => ;

console.log(func4())

函式的返回值小結::

1.函式的返回值有return來明確,沒有明確,則相當於返回undefined

2.函式只能返回乙個值

3.函式的返回值就是函式的執行結果,也就是函式值

---------------------

原文:

python學習筆記(二) python基礎函式

python之所以強大好用,離不開可以呼叫的各種庫,同時也和他自身函式相關,下面為學習python函式相關知識後整理知識點。1 python函式引數 python函式定義簡單但靈活度非常大。除正常定義的必選引數外,還可以使用預設引數,可變引數,關鍵字引數。預設引數 def power 5 x 2 在...

XML Web services 基礎結構

摘至msdn.若要在 web 的多樣性世界裡取得成功,在涉及到作業系統 物件模型和程式語言的選擇時,xml web services 不能有任何傾向性。同樣,若要使 xml web services 像其他基於 web 的技術一樣被廣泛採用,則它們必須是 xml web services 採用一種基...

結構體基礎

什麼是結構體?簡單的來說,結構體就是乙個可以包含不同資料型別的乙個結構,它是一種可以自己定義的資料型別,它的特點和陣列主要有兩點不同,首先結構體可以在乙個結構中宣告不同的資料型別,第二相同結構的結構體變數是可以相互賦值的,而陣列是做不到的,因為陣列是單一資料型別的資料集合,它本身不是資料型別 而結構...