js007 函式表示式

2022-07-25 12:21:07 字數 1123 閱讀 3859

js007-函式表示式

本章內容

1、函式表示式的特徵

2、使用函式實現遞迴

3、使用閉包定義私有量

定義函式的方式有兩種:一:函式宣告,二:函式表示式

函式宣告:

function functionname( arg0, arg1, arg2)elseelse if (value1 > value2) else;

}(i);

return result;

定義乙個匿名函式,並將執行該匿名函式的結果傳給陣列,匿名函式有乙個引數num,是最終要返回的值。

7.2.2 關於this物件

this物件是在執行時基於函式的執行環境繫結的:在全域性函式中,this等於window,當函式被某個兌現的的方法呼叫是,this等於那個物件。匿名函式的執行環境具有全域性性。

var name = "the windos";

var object = ();//出錯

(function())();

私有作用域可以用於歷史需要一些變數時:

function outputnumbers(count))();

alert(i); //導致錯誤

for迴圈外面插入了乙個私有作用域,匿名函式中定義的任何變數都會在執行結束時被銷毀

7.4私有變數(舉例子,還未完成)

在js中,所有物件屬性都是公有的。不過,有乙個私有變數的概念。任何函式中定義的變數,都可以認為是私有變數。因為外部函式無法訪問該變數

7.4.1 靜態私有變數

初始化乙個未宣告的變數總是會建立乙個全域性變數,全域性變數能夠在私有作用域外被訪問到。在嚴格模式下,未經宣告的變數賦值會導致錯誤

7.4.2模組模式

模組模式是為單例建立私有變數和特權方法。單例:只有乙個例項的物件。

7.4.3 增強的模組模式

在返回物件之前加入對其增強的**。這種增強的模組模式適用那些單例必須是魔種型別的例項,同時還必須新增某些屬性和方法對其加以曾強的情況

JS函式表示式

1.遞迴 function digui num else var d digui digui null d 3 改進 用arguments.callee num 1 代替 digui num 1 arguments.callee 是指向引數所在的函式的指標,code如下 function digui...

JS 函式表示式

引數1,引數2.call使用語法 函式名 方法名.call 物件,屬性1,屬性2.作用 可以改變this的指向 不同點 引數傳遞方式不同 bind是複製乙個方法或者函式 xw.say.call xh 注 math.random 返回介於 0 包含 1 不包含 之間的乙個隨機數 函式中幾個屬性 了解 ...

函式表示式

函式定義有以下兩種方式 一種是函式宣告,一種是函式表示式。函式宣告 在執行 之前會先讀取函式宣告,即函式宣告提公升。函式表示式 常用語法形式是常規的變數賦值語句,即建立乙個匿名函式並賦值給乙個變數。函式表示式在使用之前必須賦值,否則會出錯,這點與函式宣告提公升不同。能夠將匿名函式作為其他函式的值進行...