DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> javascript中的new使用
javascript中的new使用
編輯:關於JavaScript     
所以javascript中沒有類的概念。理解這一點很重要,很多javascript教程為了讓讀者更容易理解,會套用他們常用的類模式中的概念,這 樣反而讓大家產生歧義。
先進段代碼,  
復制代碼 代碼如下:
function employee(){
this.name="";
this.dept="";
}
employee.prototype={
say:'hello'
}
var p = new employee();

這段代碼,我們會經常用到,其中new關鍵字最容易引起混淆的一處。這裡的new和.NET中的所做的工作不同。
我們可以這樣理解javascript中用new操作創建實例的過程,new關鍵字以employee()為模板創建了一個新的對象,它復制了employee構造器中的成員變量(也可以理解為,將p對象作為參數傳入構造函數中,並且應用函數中所有this的成員變量),同時繼承了構造器的原型。
我們用代碼模擬new的過程。
復制代碼 代碼如下:
//var p = new Object() is also correct.
var p ={};
employee.apply(p);
p.__proto__ = employee.prototype;

__proto__ 是 javascript對象實例一個內部屬性,它指向構造函數即employee的prototype屬性,當對象查找某一成員變量時,例如p.say,首先查找自己的成員屬性,如果找到了,返回值,如果沒找到,就去調用__proto__來檢查原型鏈,當前例子,也就是在employee.prototype中找到say成員。
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved