欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript中的new使用

 更新時(shí)間:2010年03月20日 23:27:30   作者:  
javascript是基于原型(Prototype based)的面向?qū)ο蟮恼Z言,這點(diǎn)不同于我們熟悉的.NET,Java語言,是基于類模式(Class based)。
所以javascript中沒有類的概念。理解這一點(diǎn)很重要,很多javascript教程為了讓讀者更容易理解,會(huì)套用他們常用的類模式中的概念,這 樣反而讓大家產(chǎn)生歧義。
先進(jìn)段代碼,  
復(fù)制代碼 代碼如下:

function employee(){
this.name="";
this.dept="";
}
employee.prototype={
say:'hello'
}
var p = new employee();

這段代碼,我們會(huì)經(jīng)常用到,其中new關(guān)鍵字最容易引起混淆的一處。這里的new和.NET中的所做的工作不同。
我們可以這樣理解javascript中用new操作創(chuàng)建實(shí)例的過程,new關(guān)鍵字以employee()為模板創(chuàng)建了一個(gè)新的對(duì)象,它復(fù)制了employee構(gòu)造器中的成員變量(也可以理解為,將p對(duì)象作為參數(shù)傳入構(gòu)造函數(shù)中,并且應(yīng)用函數(shù)中所有this的成員變量),同時(shí)繼承了構(gòu)造器的原型。
我們用代碼模擬new的過程。
復(fù)制代碼 代碼如下:

//var p = new Object() is also correct.
var p ={};
employee.apply(p);
p.__proto__ = employee.prototype;

__proto__ 是 javascript對(duì)象實(shí)例一個(gè)內(nèi)部屬性,它指向構(gòu)造函數(shù)即employee的prototype屬性,當(dāng)對(duì)象查找某一成員變量時(shí),例如p.say,首先查找自己的成員屬性,如果找到了,返回值,如果沒找到,就去調(diào)用__proto__來檢查原型鏈,當(dāng)前例子,也就是在employee.prototype中找到say成員。

相關(guān)文章

  • Bootstrap編寫一個(gè)同時(shí)適用于PC、平板、手機(jī)的登陸頁面

    Bootstrap編寫一個(gè)同時(shí)適用于PC、平板、手機(jī)的登陸頁面

    這篇文章主要為大家詳細(xì)介紹了Bootstrap編寫一個(gè)同時(shí)適用于PC、平板、手機(jī)的登陸頁面,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-06-06
  • 詳解JS中的compose函數(shù)和pipe函數(shù)用法

    詳解JS中的compose函數(shù)和pipe函數(shù)用法

    這篇文章主要介紹了JS中的compose函數(shù)和pipe函數(shù)用法,想深入了解Javascript的同學(xué),可以參考下
    2021-04-04
  • javascript 補(bǔ)零 函數(shù)集合

    javascript 補(bǔ)零 函數(shù)集合

    有時(shí)候我們需要對(duì)日期不足兩位進(jìn)行補(bǔ)零操作,或?qū)σ恍?shù)字不足多少位就補(bǔ)零。下面的函數(shù)就非常實(shí)用了,大家可以根據(jù)需要選擇。
    2009-03-03
  • js獲取Html元素的實(shí)際寬度高度的方法

    js獲取Html元素的實(shí)際寬度高度的方法

    下面小編就為大家?guī)硪黄猨s獲取Html元素的實(shí)際寬度高度的方法。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-05-05
  • javascript DOM的詳解及實(shí)例代碼

    javascript DOM的詳解及實(shí)例代碼

    這篇文章主要介紹了javascript DOM的詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • 微信小程序發(fā)送短信驗(yàn)證碼完整實(shí)例

    微信小程序發(fā)送短信驗(yàn)證碼完整實(shí)例

    這篇文章主要介紹了微信小程序發(fā)送短信驗(yàn)證碼完整實(shí)例,實(shí)現(xiàn)發(fā)送短信驗(yàn)證碼,帶60秒倒計(jì)時(shí)功能,無需服務(wù)器端,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2019-01-01
  • JavaScript面向?qū)ο髮?shí)現(xiàn)貪吃蛇游戲

    JavaScript面向?qū)ο髮?shí)現(xiàn)貪吃蛇游戲

    這篇文章主要為大家詳細(xì)介紹了JavaScript面向?qū)ο髮?shí)現(xiàn)貪吃蛇游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • JavaScript多并發(fā)問題如何處理

    JavaScript多并發(fā)問題如何處理

    這篇文章給大家介紹javascript多并發(fā)問題處理方法,涉及到j(luò)s多并發(fā)處理方法相關(guān)知識(shí),對(duì)js多并發(fā)處理方法感興趣的朋友可以參考下本文
    2015-10-10
  • JS獲取本周周一,周末及獲取任意時(shí)間的周一周末功能示例

    JS獲取本周周一,周末及獲取任意時(shí)間的周一周末功能示例

    這篇文章主要介紹了JS獲取本周周一,周末及獲取任意時(shí)間的周一周末功能,結(jié)合實(shí)例形式分析了js通過擴(kuò)展實(shí)現(xiàn)針對(duì)日期的運(yùn)算相關(guān)技巧,需要的朋友可以參考下
    2017-02-02
  • webpack結(jié)合express實(shí)現(xiàn)自動(dòng)刷新的方法

    webpack結(jié)合express實(shí)現(xiàn)自動(dòng)刷新的方法

    這篇文章主要給大家介紹了關(guān)于webpack結(jié)合express實(shí)現(xiàn)自動(dòng)刷新的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用webpack具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05

最新評(píng)論