国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

javascript中的new使用

2024-05-06 14:10:53
字體:
來源:轉載
供稿:網友
所以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成員。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 巩留县| 县级市| 镇安县| 淳安县| 新疆| 安顺市| 临沂市| 昌吉市| 宁陵县| 徐汇区| 高邮市| 浦江县| 界首市| 东兰县| 宜兴市| 花莲县| 襄城县| 海原县| 南溪县| 泊头市| 潢川县| 大邑县| 庆元县| 尤溪县| 德清县| 阿坝县| 屏山县| 浦江县| 鄂伦春自治旗| 盐源县| 荔波县| 南平市| 深泽县| 仪征市| 尼玛县| 江城| 宝鸡市| 赣榆县| 沙坪坝区| 甘孜| 重庆市|