最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript面向?qū)ο蟪绦蛟O(shè)計創(chuàng)建對象的方法分析

 更新時間:2018年08月13日 14:30:03   作者:hiyanxu  
這篇文章主要介紹了JavaScript面向?qū)ο蟪绦蛟O(shè)計創(chuàng)建對象的方法,結(jié)合實例形式分析了javascript使用object構(gòu)造函數(shù)和對象字面量來創(chuàng)建對象的相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了JavaScript面向?qū)ο蟪绦蛟O(shè)計創(chuàng)建對象的方法。分享給大家供大家參考,具體如下:

面向?qū)ο蟮恼Z言具有一個共同的標志,那就是具有“類”的概念,但是在javascript中沒有類的概念,在js中將對象定義為“無序?qū)傩缘募希鋵傩钥梢园局?,對象或者函?shù)”,即其將對象看作是一組名值對的散列表。這樣問題就來了,如何創(chuàng)建對象呢?

在最開始時使用object構(gòu)造函數(shù)和對象字面量來創(chuàng)建單個對象,下面簡要介紹這兩種方法。

object構(gòu)造函數(shù):創(chuàng)建自定義對象的最簡單方式就是創(chuàng)建一個object的實例,然后為這個實例添加屬性和方法:

var person=new object();
person.name="haha";
person.age=20;
person.job="搞笑工作者";
person.sayName=function(){
   alert(this.name);
};

在上面的代碼中,定義了一個person對象,并且添加了三個屬性和一個方法,其中方法采用的時函數(shù)表達式的方式實現(xiàn),這是用object構(gòu)造函數(shù)的方式創(chuàng)建一個對象。

對象字面量:

var person={
  name:"haha",
  age:20,
  job:"搞笑工作者",
  sayName:function(){
    alert(this.name);
  }
}

以上代碼中同樣創(chuàng)建了一個person對象,這種方法類似于代碼塊的方式,實現(xiàn)了對一個person對象的創(chuàng)建。

以上這兩種方法中,都需要大量重復(fù)定義,在我們需要創(chuàng)建對象時就需要重復(fù)以上代碼,不夠精煉,所以出現(xiàn)了工廠模式和構(gòu)造函數(shù)模式類創(chuàng)建對象的方法。

工廠模式:

工程模式抽象了創(chuàng)建具體對象的過程(專業(yè)書籍中給出),其實說的比較明白點就是采用函數(shù)的形式,用函數(shù)來封裝創(chuàng)建對象的過程,再創(chuàng)建對象時以調(diào)用函數(shù)的形式創(chuàng)建。例如:

function createPerson(name,age,job){
  var o=new object();
  o.name="haha";
  o.age=20;
  o.job="搞笑工作者";
  o.sayName=function(){
    alert(this.name);
  };
  return o;
}
var person1=createPerson("hehe",22,"呵呵工作者");
var person2=createPerson("heihei",23,"嘿嘿工作者");

在這種工廠模式下,將以object構(gòu)造函數(shù)創(chuàng)建對象的方法封裝到了一個函數(shù)中,在以后的創(chuàng)建對象的過程中,直接調(diào)用此方法就可以創(chuàng)建出一個接著一個的對象。

構(gòu)造函數(shù)模式:

構(gòu)造函數(shù)模式相對于工廠模式的優(yōu)勢在于構(gòu)造函數(shù)模式可以創(chuàng)建特定類型的對象。

function Person(name,age,job){
  this.name=name;
  this.age=age;
  this.job=job;
  this.sayName=function(){
    alert(this.name);
  };
}
var person1=new Person("hehe",22,"呵呵工作者");
var person2=new Person("heihei",23,"嘿嘿工作者");

在以上代碼中,定義一個Person()的方法,在Person()方法中,將其屬性進行了實例化,這種方法類似于在面向?qū)ο笳Z言中在實例化類時直接會調(diào)用的構(gòu)造函數(shù),利用這種方法,將此函數(shù)大致相當于面向?qū)ο笳Z言中的類,可以在以后的代碼中不斷的實例化,用以不斷創(chuàng)建出此類的對象。在Javascript中,這種構(gòu)造函數(shù)也是一種函數(shù),不過是專門用于創(chuàng)建對象而已。

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學運算用法總結(jié)

希望本文所述對大家JavaScript程序設(shè)計有所幫助。

相關(guān)文章

  • js計算系統(tǒng)當前日期是星期幾的方法

    js計算系統(tǒng)當前日期是星期幾的方法

    這篇文章主要為大家詳細介紹了js計算系統(tǒng)當前日期是星期幾4種方法,需要的朋友可以參考下
    2016-07-07
  • 兼容IE,firefox的獲取節(jié)點的文本值的javascript代碼

    兼容IE,firefox的獲取節(jié)點的文本值的javascript代碼

    javascript獲取節(jié)點的文本值,已經(jīng)考慮了兼容性。大家可以放心使用。注意了這里的兼容沒有使用innerText,如果要使用兼容innerText,請參考腳本之家以前發(fā)布的文章。
    2009-12-12
  • JavaScript繼承定義與用法實踐分析

    JavaScript繼承定義與用法實踐分析

    這篇文章主要介紹了JavaScript繼承定義與用法,結(jié)合實例形式分析了JavaScript面向?qū)ο蟪绦蛟O(shè)計中基類的定義、原型繼承以及調(diào)用父類構(gòu)造函數(shù)等相關(guān)操作技巧,需要的朋友可以參考下
    2018-05-05
  • js對象的復(fù)制繼承實例

    js對象的復(fù)制繼承實例

    這篇文章主要介紹了js對象的復(fù)制繼承用法,以一個較為簡單的實例分析了js對象復(fù)制繼承的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-01-01
  • NodeJS框架Express的模板視圖機制分析

    NodeJS框架Express的模板視圖機制分析

    MVC模式可謂無人不知,它除了能增強團隊協(xié)作的效率,還可方便產(chǎn)品的維護升級,本文我們將對Express框架的模板和視圖(V)相關(guān)功能進行介紹。
    2011-07-07
  • layui表格分頁 記錄勾選的實例

    layui表格分頁 記錄勾選的實例

    今天小編就為大家分享一篇layui表格分頁 記錄勾選的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • 實例講解JavaScript 計時事件

    實例講解JavaScript 計時事件

    這篇文章主要介紹了JavaScript 計時事件的相關(guān)資料,文中示例代碼非常詳細,幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-07-07
  • 利用純JavaScript實現(xiàn)讀取和導(dǎo)出Excel文件

    利用純JavaScript實現(xiàn)讀取和導(dǎo)出Excel文件

    在 Web 開發(fā)中,導(dǎo)入和導(dǎo)出 Excel 文件是一個常見的需求,特別是對于數(shù)據(jù)報表和分析等場景,雖然有很多第三方庫(如 xlsx 和 sheetjs)提供了非常強大的功能,但本文將探討如何不依賴第三方庫,利用純 JavaScript 來實現(xiàn)讀取和導(dǎo)出Excel文件,需要的朋友可以參考下
    2025-03-03
  • React?diff算法面試考點超詳細講解

    React?diff算法面試考點超詳細講解

    渲染真實DOM的開銷很大,有時候我們修改了某個數(shù)據(jù),直接渲染到真實dom上會引起整個dom樹的重繪和重排。我們希望只更新我們修改的那一小塊dom,而不是整個dom,diff算法就幫我們實現(xiàn)了這點。diff算法的本質(zhì)就是:找出兩個對象之間的差異,目的是盡可能做到節(jié)點復(fù)用
    2022-12-12
  • js實現(xiàn)計時器秒表功能

    js實現(xiàn)計時器秒表功能

    這篇文章主要為大家詳細介紹了js實現(xiàn)計時器秒表功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12

最新評論

平舆县| 高雄市| 庄河市| 枣庄市| 钟祥市| 临汾市| 琼海市| 德令哈市| 无棣县| 镇江市| 塔河县| 新建县| 罗江县| 泰顺县| 宜宾市| 苍梧县| 巴林左旗| 淄博市| 滨海县| 延吉市| 津市市| 平武县| 德清县| 乐山市| 偏关县| 中卫市| 通州市| 行唐县| 都昌县| 从江县| 吉首市| 绍兴县| 玉林市| 明星| 丰顺县| 渝北区| 浮山县| 常宁市| 北流市| 沾益县| 六盘水市|