js 物件導向學習4 function 和閉包

2021-06-27 09:25:03 字數 924 閱讀 3221

ecmascript 最令人興奮之處莫過於函式,實際上是功能完整的物件,它是ecmascript 的核心。

ecmascript函式是不能過載的。例如

function doshow(i)

function doshow(i)

呼叫 do(10) 的時候結果是20 應為第二個do函式會覆蓋第乙個do函式。

在函式**中可以使用乙個特殊的物件arguments,開發者無需指定引數名稱就可以直接呼叫引數,例如

function show()else if(arguments.length==2)

}

當呼叫show("123"),和呼叫 show("123","456") 的時候就會引數不同的效果等同於變相實現了函式的過載

function 實際上就是功能完整的物件,function類可以表示開發者定義的任何函式。例如

function show(age,name)
等同於

var show=new function(age,name)
儘管可以使用function 構建函式,但是最好不要使用function 來構建函式,應為他的效率遠遠低於傳統的方式。因為函式是引用型別所以他們也有屬性和方法,ecmascript 中定義的屬性length 宣告了函式期望引數的個數。例如

function fun(f)

function func(f2)

console.log(fun.length);//1

console.log(func.length);//0

ecmascript 規定可以定義任何引數,但是最多數量不能超過25個,屬性length給檢視預期引數提供乙個方便的方式。

valueof『 和tostring 方法 任何函式也共享object 的valueof 和tostring 方法,兩個方法都是返回函式的源**。

JS物件導向學習

最近看書在看js的物件導向技術,學習到幾種寫法 物件字面量語法 var person 1.工廠模式 function createperson name,age,job return o var person1 createperson hyr 22,engineer var person2 cre...

Swift學習4 物件導向

一 類與物件 對於swift的類的構建和一般物件導向語言類似也是class關鍵字宣告,示例如下 class hello 上面建立了乙個hello類,包含了乙個sayhello方法。我們可以通過下面的 來呼叫方法。var hello hello hello.sayhello 輸出 hello 二 構造...

js學習 物件導向設計

1資料屬性 資料屬性包含乙個資料值的位置,在這個位置可以讀取和寫入值,資料屬性有4個描述其行為的特性 一 configgurable 表示能否通過delete 刪除屬性從而重新定義屬性,能否修改屬性的特性,或者能否把屬性修改為訪問器屬性。他們的特性預設值為true 二 enumerable 表示能否...