js基礎 function型別

2022-06-14 12:27:08 字數 1964 閱讀 6450

1、函式宣告方式

1)普通宣告方式

function box(num1,num2)

2)使用變數初始化函式

var box = function(num1,num2)

3)使用function建構函式

var box = new function('num1','num2','return num1 + num2');不推薦

2、作為值的函式??:可像傳遞引數一樣把乙個函式傳遞給另乙個函式,也可將乙個函式作為另乙個函式的結果範回。(**函式)

function box(sumfunction,num)

function sum(sum)

var result = box(sum,10);//傳遞函式到另乙個函式

理解:**函式典型示例

eg. var  friends = ['linda','mike','bob','lucy'];

friedns.foreach(function(name,index));

**函式實現原理:

我們可以像使用變數一樣使用函式,作為另乙個函式的引數,在另乙個函式中作為返回結果,在另乙個函式中呼叫它。當我們作為引數傳遞乙個**函式給另乙個函式時,我們只傳遞了這個函式的定義,並沒有在引數中執行它。

當包含(呼叫)函式擁有了在引數中定義的**函式後,它可以在任何時候呼叫(也就是**)它。

這說明**函式並不是立即執行,而是在包含函式的函式體內指定的位置「**」它(形如其名)。所以,即使第乙個jquery的例子看起來是這樣:

3、函式內部屬性

1)函式內部的特殊物件:arguments

arguments是乙個類陣列物件,包含傳入函式中的所有引數,主要用於儲存函式引數;該物件有個屬性callee,即指標,可指向擁有該物件的函式。

function arg(n1) else

}console.log(arg(4));//n1=3,arg(3)=3*2=6;n1=6,arg(6)= 6*5*4*3*2=720

/*使用arguments.callee的原因:消除函式執行與函式名緊密耦合,

* 即函式名改變後內部自身呼叫不用逐一修改

* */

function arg1(n2) else

}console.log(arg1(4));//控制台報錯

2)函式內部的特殊物件:

this

this引用的是函式資料以執行操作的物件,或者說函式呼叫語句所處的那個作用域;當在全域性作用域中呼叫函式時,this物件引用的就是window。

1.// 在全域性變數中,this為window

window.onload= function()

this.onload= function()

2.//在函式中時,this為window物件

function obj(pra)

obj("this為window物件");

alert(sear);

3.//this在物件中,this就為該物件 

var name = "物件";

var person =

}person.xiu();//user

4.//this遇上new時,this為新建立的物件(obj)

function fun()

var obj = new fun();

alert(obj.name); //新物件

5. //this在內部函式中,this為window

var name = "內部函式";

var person = ;

sayhello();}}

person.hello();//內部函式

6.//this在內部函式中,若在物件中將this作為變數儲存下來,this就指向該物件

var name = "修抗";

var person = ;

sayhello();}}

person.hello();//user

《JS高程》 Function引用型別

答 三種定義方法 答 兩個區別 答 函式名實際是乙個指向函式物件的指標,不會與某個函式繫結。答 函式沒有過載。宣告了兩個同名的函式時,後面的函式將會覆蓋前面的函式,原理為 函式名只是乙個指向函式物件的指標。答 函式可以作為值來使用,不僅可以將乙個函式傳遞給另乙個函式,還可以將乙個函式作為另乙個函式的...

js 中的Function型別

函式的建立有兩種方式 二者基本等價,除了 什麼時候可通過變數訪問函式的區別,以下將舉例證明。以函式宣告的方式來建立,那麼不論在什麼時候訪問函式,都是正確的,因為解析器有函式宣告提公升。sayhello function sayhello 以函式表示式方式來建立,那麼只能在建立之後才能訪問。sayhe...

引用型別 Function型別

1.function型別 函式是物件,是function型別的例項,有屬性和方法。函式是物件,函式名是指向函式物件的指標。2.定義函式的方法 函式宣告語法定義 function sum num1,num2 而對於函式表示式定義函式,解析器直到執行到他所在的 行,才會被真正解析執行。alert sum...