JS學習三(函式)

2022-07-25 21:45:08 字數 3120 閱讀 8381

【函式的宣告格式】

1.函式的宣告格式:

function 函式名(引數1,引數2,...)

函式的呼叫:

① 直接呼叫:函式名(引數1的值,引數2的值,....);

② 時間呼叫方式:直接在html標籤中,使用事件名="函式名()"

點選按鈕,列印內容

2.函式的注意事項:

① 函式名必須符合小駝峰法則,(首字母小寫,之後每個單詞首字母大寫)

② 函式名後面的()中,可以有引數,也可以沒有引數,分別稱為 有參函式 和 無參函式;

③ 宣告函式時的引數列表,稱為形參列表,形式引數。(變數的名字)

function saysth(str,color){}

呼叫函式是的引數列表,稱為實參列表,實際引數。(變數的賦值)

saysth("hello!!!","red");

④ 函式的形參列表個數,與實參列表個數,沒有實際關聯關係。

函式引數的個數,取決於實參列表。

如果實參列表的個數《形參列表,則為賦值的形參,將為undefind。

⑤ 函式可以有返回值,使用return返回結果。

呼叫函式時,可以使用乙個變數接受函式的返回結果。如果函式沒有返回值,則接受的結果為undefined;

function fun()

var num = func();  num="哈哈"

⑥ 函式中變數的作用域:

在函式中,使用var宣告的變數,為區域性變數,只能在函式內部訪問;

不用var宣告的變數,為全部變數,在函式外面也能訪問;

函式的形參列表,預設為函式的舉區域性變數,只能在函式內部使用。

⑦ 函式的宣告與函式的呼叫,沒有先後之分。即,可以在宣告函式前,呼叫函式。

fun(); //宣告之前呼叫可以。

function fun(){}

【匿名函式的宣告使用】

1.宣告乙個匿名函式,直接賦值給某乙個事件。

window.onload= function(){}

2.使用匿名函式表示式。將匿名函式,賦值給乙個變數。

宣告:var func=function (){}

呼叫:func();

注意:使用匿名函式表示式時,函式的呼叫,必須放在函式宣告語句之後!!!

(與普通函式的區別)

3.自執函式:

① !function(){}();    可以使用多種與運算子開頭,一般用!

!function(形參列表){}(實參列表);

② (function(){}());    使用()將函式集函式後的括號包裹。

③ (function(){})();    使用()值包裹函式部分;

三種寫法的特點

① 使用!開頭結構清晰,不容易混亂,推薦使用;

② 能夠表明匿名函式與呼叫的()為乙個整體,官方推薦使用;

③ 無法表示函式與之後剖的()的整體性,不推薦使用;

【函式的內部屬性】

1.arguments物件

① 作用:用於儲存呼叫函式時的所有實參。

當我們呼叫函式,並用實參賦值時,實際上 到arguments陣列中, 可以在函式中,使用arguments[n]的形式呼叫。n從0開始。

② arguments陣列的個數,取決於實參列表,與形參無關。

但是,一旦第n個位置的形參、實參、arguments都存在時,形參將於arguments繫結,同步變化。

(即在函式中修改形參的值,arguments也會改變。反之,亦成立。)

③ arguments.callee 是arguments的重要標誌。表示arguments所在函式的引用位址;

在函式裡面,可以使用arguments.callee()呼叫函式本身。

遞迴

在函式內部,呼叫函式自身的寫法,叫做遞迴。

遞迴分為兩部分: 遞 和 歸。 以遞迴呼叫語句為界限,可以將函式分為上下兩部分。

遞:當函式執行上半部,遇到自身的語句時,繼續進入內層函式,在執行上半部分。直到執行哇按最內層函式。

歸:當內層函式執行以後面,在從最內層函式開始,逐漸執行函式的下半部分。

當最外層函式執行時,遇到自身呼叫語句,會進入內層函式執行,而外層函式的後半部分暫不執行。

直到內層函式執行完以後,在逐步向外執行。

【js**的執行順序問題】

js**在執行時,會分為兩大部分:檢查裝載和執行階段

檢查裝載階段:會先檢測**的語法錯誤,進行變數、函式的宣告。

執行階段:變數得瑟賦值、函式的呼叫等,都屬於執行階段。

以一下**為例:

console.log(num);   undefine

var num=10;

func1();    函式可以正常執行

function func1(){}

func2();    函式不能執行,列印func2,顯示undefine

var func2= function(){}

-----------檢查裝載階段----------

var num;

var func1 = function(){};

var func2;

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

-----------**執行階段----------

console.log(num);

var num = 10;

func1 ();

func2 ();

func2 = function(){}

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

console.log(num);   undefine

var num=10;

func1();    函式可以正常執行

function func1(){}

func2();    函式不能執行,列印func2,顯示undefine

var func2= function(){}

js學習 函式

函式宣告 function funname parameter 函式表示式,並把函式儲存在變數x中 不用給函式名,後續並不能直接用給定的函式名呼叫 var x function a x 返回的是乙個函式物件 x 呼叫函式 用函式建構函式定義乙個函式 引數,表示式 var myfunc new fun...

學習js函式 函式定義

函式的定義方法有三種 1.函式表示式 2.函式宣告 3,new function建構函式 這邊主要看下函式表示式和函式宣告 函式表示式 未省略標誌的 var alertname function namealert name alertname 博主 函式表示式 省略標誌的 var alertnam...

JS學習小結 三

怎麼建立正規表示式物件,怎麼呼叫正規表示式物件的方法?第一種建立方式 var regexp 正規表示式 flags 第二種建立方式 var regexp new regexp 正規表示式 flags 關於flags g 全域性匹配 i 忽略大小寫 m 多行搜尋 es規範制定之後才支援m 當前面是正規...