首頁 >web前端 >js教程 >js中函數的三種角色介紹

js中函數的三種角色介紹

零下一度
零下一度原創
2017-06-29 09:41:591739瀏覽

注意:Function.prototype是函數資料型別的值,但是相關運算和之前的一模一樣->Empty/anonymous

#函數本身也會有一些自己的屬性:

  length :形參的數量

  name :"Fn" 函數名稱

  prototype 類別的原型,在原型上定義的方法都是目前Fn這個類別實例的公有方法

  __proto__ 把函數當做一個普通的對象,指向Function這個類別的原型

函數在整個JS中是最複雜的也是最重要的知識:

  1、一個函數存在了多面性:

    "普通函數":本身就是一個普通的函數,執行的時候會形成私有的作用域(閉包),形參賦值,預先解釋,程式碼執行,執行完成後堆疊記憶體銷毀/不銷毀

    "類":它有自己的實例,也有一個叫做prototype屬性是自己的原型,他的實例都可以指向自己的原型

    "普通物件":和var obj = {} 中的obj一樣,就是一個普通的對象,他作為對象可以有自己的私有的屬性,也可以透過__proto__找到Function.prototype

#   這三者之間是沒有必然的關係的。

     function Fn(){var num = 500;this.x = 100;
        }
        Fn.prototype.getX = function(){
            console.log(this.x)
        }
        Fn.aaa = 1000;var f = new Fn;
        f.num //undefinedf.aaa//undefinedvar res = Fn();
        res//undefinedFn.aaa//1000
#

以上是js中函數的三種角色介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn