注意:Function.prototype是函數資料型別的值,但是相關運算和之前的一模一樣->Empty/anonymous
#函數本身也會有一些自己的屬性:
length :形參的數量
name :"Fn" 函數名稱
prototype 類別的原型,在原型上定義的方法都是目前Fn這個類別實例的公有方法
__proto__ 把函數當做一個普通的對象,指向Function這個類別的原型
#
函數在整個JS中是最複雜的也是最重要的知識:
1、一個函數存在了多面性:
"普通函數":本身就是一個普通的函數,執行的時候會形成私有的作用域(閉包),形參賦值,預先解釋,程式碼執行,執行完成後堆疊記憶體銷毀/不銷毀
"類":它有自己的實例,也有一個叫做prototype屬性是自己的原型,他的實例都可以指向自己的原型
"普通物件":和var obj = {} 中的obj一樣,就是一個普通的對象,他作為對象可以有自己的私有的屬性,也可以透過__proto__找到Function.prototype
# 這三者之間是沒有必然的關係的。
1 2 3 4 5 6 7 8 |
|
以上是js中函數的三種角色介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!