建構函式 函數域

來源:互聯網
上載者:User

標籤:賦值   它的   cti   建構函式   申請   形參   聯絡   類型   運算   

要想搞明白建構函式,就要先弄懂什麼是函數?以及js中有哪幾種函數的建立形式。
什麼是函數?
函數簡單的說就是重複執行的代碼塊;按照JavaScript 權威指南(第六版)
書中的說法:函數是這樣的一段JavaScript 代碼,它只定義一次,但可能被執行或調用任意次。
        Js 中有哪幾種建立形式呢? 
        函數使用function 關鍵字來定義,其後跟隨,函數名稱標識符、 一對圓括弧、一對花括弧。 JavaScript 中有三種建立形式,分別是:
   ①         聲明式 
function fn( ){ };   這種定義的方式,無論在哪兒定義,別處都可以調用 ;
   ②         函數的字面量或叫直接量或稱運算式
var fn=function () { }; 此時函數作為運算式存在,調用只能在定義的後面;  
解釋一下運算式:凡是將資料和運算子等聯絡起來有值得式子就是運算式。
   ③         以new Function 的形式
var fn = new Function (arg1 , arg2 ,arg3 ,…, argN , body  ) 
解釋:
        Function 建構函式所有的參數都是字串類型。除了最後一個參數, 其餘的參數都作為產生函數的參數即形參。這裡可以沒有參數。最後一個參數, 表示的是要建立函數的函數體。

另外,js 中任意函數都是Function 的執行個體。
有了以上的鋪墊 就可以來說明什麼是建構函式了:
構造:它是設計,組合。將沒有的東西先概念實現,比如建築圖紙
建構函式:首先,它是函數,並且任何的函數都可以作為建構函式存在 ,它的本質是初始化對象。建構函式都是和new  關鍵詞一起使用的。 new 就是在建立對象,從無到有,建構函式就是在為初始化的對象添加屬性和方法( 成員 ) 好比:
                            this.name = xiaoming;
                            this.age = 10;
                            this.gender = ‘男‘; 
其實剛才的建立函數的第三種方法就是利用建構函式的方式實現的 
如: var obj = new Person( “xiaoming ”, 10 ,” 男” )  ;
有了建構函式,那構造對象就成以下四步了:
                         1, new 申請記憶體, 建立對象
                         2, 調用建構函式, 建構函式有一個隱式參數, 即 this
                         3, 剛建立出來的對象的引用 賦值給 this, 由函數處理. 
                         4, 在建構函式中利用 this.成員 = 值 來給對象新增成員 .
以一個典型的案例結尾 :
Function  Person( name,age,gender  ) { 
                this.name = name;
                this.age=age;
                this.gender = gender;
                this.sayHello = function () {
                        console.log( ‘Hello ‘+ name );
                };
}
           var P1= new Person(‘jim‘,10, ‘男’);
           var P2= new Person(tom,20, ‘女);

建構函式 函數域

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.