第六篇 javascript物件導向

來源:互聯網
上載者:User

標籤:images   變數   表示   綁定   turn   成員   .com   聲明   back   

一、閉包

閉包是指可以包含自由(未綁定到特定對象)變數的代碼塊。

「閉包」,是指擁有多個變數和綁定了這些變數的環境的運算式(通常是一個函數),因而這些變數也是該運算式的一部分。

閉包是個函數,而它「記住了周圍發生了什麼」。表現為由「一個函數」體中定義了「另個函數」

由於範圍鏈只能從內向外找,預設外部無法擷取函數內部變數。閉包,在外部擷取函數內部的變數。

<script>  name="aa";    function f1(){        var name="bb";        function f2(){            alert(name);        }        return f2    }    var ret=f1();    ret();</script>
二、物件導向

 1、首先介紹prototype

每個函數就是一個對象(Function),函數對象都有一個子物件 prototype對象,類是以函數的形式來定義的。prototype表示該函數的原型,也表示一個類的成員的集合

 

在通過new建立一個類的執行個體對象的時候,prototype對象的成員都成為執行個體化對象的成員。

1、該對象被類所引用,只有函數對象才可引用;

2、在new執行個體化後,其成員被執行個體化,執行個體對象方可調用。

同時,函數是一個對象,函數對象若直接聲明成員,不用被執行個體化即可調用。

具體參考

http://baike.baidu.com/item/prototype/14335187

 

2、原型

js中的物件導向

沒有class  只有函數,函數可以構造出來類

這裡的this就相當於 python中的self

建立對象  需要new

這裡的資料是封裝在對象裡的

具體說明 如下:

//      表示建立了一個類Foo,並且建立了Foo類的構造方法        function Foo(name){            this.Name=name;//            把下面的換成原型//            this.func= function () {//                alert(this.Name)//            }        }//      建立原型是為了讓方法放入類中,每個對象直接來調用就好了        Foo.prototype={            func: function () {                alert(this.Name)            }        }//        原型的第二種寫法        Foo.prototype.func=function(){            alert(this.Name)        }
<script>    function Foo(name,age){        this.Name=name;        thos.Age=age;    }    Foo.prototype = {        Func:function(){            return this.Name+this.Age        }    }    obj1=new Foo("eric",18);    ret=obj1.Func();    console.log(ret)</script>
物件導向原型

 

第六篇 javascript物件導向

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.