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

對(duì)Js OOP編程 創(chuàng)建對(duì)象的一些全面理解

 更新時(shí)間:2016年07月26日 08:45:42   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇對(duì)Js OOP編程 創(chuàng)建對(duì)象的一些全面理解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

面向?qū)ο笫且环N對(duì)現(xiàn)實(shí)世界理解和抽象的方法,是計(jì)算機(jī)編程技術(shù)發(fā)展到一定階段后的產(chǎn)物。

對(duì)象的含義

對(duì)象可以是汽車,人,動(dòng)物,文字,表單或者任何存在的事物等等。

對(duì)象有:

  屬性-------對(duì)象的某些特定的性質(zhì)。
  方法-------對(duì)象能做的事情。
  事件-------能響應(yīng)發(fā)生在對(duì)象上的事情。

我們可以通過(guò)創(chuàng)建一個(gè)人的對(duì)象來(lái)理解面向?qū)ο?/p>

人:

  兩只手,兩只腳,一個(gè)頭,還可以跑動(dòng)。

  手,腳,頭,是人的屬性,跑動(dòng)是人的方法。

首先,我們來(lái)用最簡(jiǎn)單的方法創(chuàng)建一個(gè)對(duì)象

var person = {
      head: "one",
      hand: "two",
      foot: "two",
      run : function(){
        console.log("running");
      }
    }

這個(gè)方法一點(diǎn)都不實(shí)用,因?yàn)樗莿?chuàng)建一個(gè)單獨(dú)的對(duì)象,,而這個(gè)對(duì)象和任何常見(jiàn)的數(shù)據(jù)結(jié)構(gòu)沒(méi)有任何聯(lián)系。

然后,我們用構(gòu)造函數(shù)的方式創(chuàng)建一個(gè)對(duì)象

var Person = function(){//注意,首字母大寫(xiě)
      this.head = "one",
      this.hand = "two",
      this.foot = "two",
      this.run = function(){
        alert("running");
      }
    }
    var Joan = new Person();
    document.write(Joan.run())// "running"

這是用構(gòu)造函數(shù)創(chuàng)建的對(duì)象,然后我們?cè)偌由弦恍写a看看

var Niki = new Person();
    alert(Joan==Niki) //false;

是的,現(xiàn)在創(chuàng)建了是兩個(gè)不同的對(duì)象實(shí)例。

在JavaScript中的每個(gè)函數(shù)都有一個(gè)prototype的屬性.如果某個(gè)函數(shù)被用作構(gòu)造函數(shù),則這個(gè)屬性會(huì)被自動(dòng)通過(guò)new調(diào)用創(chuàng)建對(duì)象的原型

console.log(Joan)

可以看到有一個(gè)__proto__:Person,其中__proto__是Joan的原型鏈.它是指向Person的原型.

JS在創(chuàng)建對(duì)象(不論是普通對(duì)象還是函數(shù)對(duì)象)的時(shí)候,都有一個(gè)叫做__proto__的內(nèi)置屬性,用于指向創(chuàng)建它的函數(shù)對(duì)象的原型對(duì)象prototype。

關(guān)于原型鏈的一些理解,在JavaScript高級(jí)程序設(shè)計(jì) 一書(shū)中寫(xiě)的非常詳細(xì)。有興趣的可以去看看,網(wǎng)上也有pdf的文檔可以找到。不過(guò)建議還是買(mǎi)本書(shū),支持原版嘛。

然后對(duì)prototype這個(gè)原型屬性的任何更改能夠應(yīng)用于用new Person()構(gòu)造的每一個(gè)實(shí)例對(duì)象,不管它是在更改之前還是更改后創(chuàng)建.為Person.prototype 添加新函數(shù).具體如下:

var Person = function(){//注意,首字母大寫(xiě)
      this.head = "one",
      this.hand = "two",
      this.foot = "two"
    }
    Person.prototype.run = function(){
      alert("running");
    }
    var Joan = new Person();
    Joan.run()// "running"
    alert(Joan.__proto__===Person.prototype)//'true'

可以看到,在原型中創(chuàng)建方法是可以調(diào)用的,同時(shí)Joan的原型鏈?zhǔn)侵赶騊erson的原型的。

再看:

var Niki = new Person();//"runing"
     Person.prototype.run = function(){
       alert("running running")
     }
     Joan.run()//"running running"
     Niki.run()//"running running"

看,修改Person的原型方法,所有被new Person()創(chuàng)建的對(duì)象實(shí)例中的方法都被修改了,因?yàn)樗袑?shí)例中共用的是同一個(gè)原型方法run。這就是原型的一種應(yīng)用。

這就是關(guān)于創(chuàng)建對(duì)象的一些理解。

寫(xiě)了好久。也不知道有沒(méi)有錯(cuò)誤。 如果有錯(cuò)誤,歡迎各位大大指點(diǎn)。

下次再寫(xiě)面向?qū)ο罄^承方面的東西。

以上就是小編為大家?guī)?lái)的對(duì)Js OOP編程 創(chuàng)建對(duì)象的一些全面理解全部?jī)?nèi)容了,希望大家多多支持腳本之家~

相關(guān)文章

  • javascript類型轉(zhuǎn)換使用方法

    javascript類型轉(zhuǎn)換使用方法

    這篇文章主要介紹了javascript類型轉(zhuǎn)換的使用方法,包括轉(zhuǎn)換為字符串、轉(zhuǎn)換為數(shù)字、轉(zhuǎn)換為布爾值、轉(zhuǎn)換為對(duì)象使用方法,大家參考使用吧
    2014-02-02
  • jQuery之選擇組件的深入解析

    jQuery之選擇組件的深入解析

    本篇文章是對(duì)jQuery中的選擇組件進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • Javascript this 關(guān)鍵字 詳解

    Javascript this 關(guān)鍵字 詳解

    Javascript是一種很靈活的語(yǔ)言, 而This關(guān)鍵字又是靈活中的靈活, 但是因?yàn)樗撵`活, 也注定了它的難用.以前我用this的時(shí)候, 都會(huì)覺(jué)得不踏實(shí), 老是擔(dān)心它不知道怎么地就會(huì)指到另外的什么地方.其實(shí), 這都是因?yàn)? 我們對(duì)它的不了解.
    2014-10-10
  • JavaScript charCodeAt方法入門(mén)實(shí)例(用于取得指定位置字符的Unicode編碼)

    JavaScript charCodeAt方法入門(mén)實(shí)例(用于取得指定位置字符的Unicode編碼)

    這篇文章主要介紹了JavaScript charCodeAt方法入門(mén)實(shí)例,charCodeAt方法用于取得指定位置字符的Unicode編碼,需要的朋友可以參考下
    2014-10-10
  • 詳解JavaScript中的變量命名規(guī)范

    詳解JavaScript中的變量命名規(guī)范

    程序員三大難題:變量命名、緩存失效、循環(huán)邊界。這篇文章主要為大家介紹了JavaScript中的變量命名規(guī)范,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-12-12
  • Javascript基礎(chǔ)_嵌入圖像的簡(jiǎn)單實(shí)現(xiàn)

    Javascript基礎(chǔ)_嵌入圖像的簡(jiǎn)單實(shí)現(xiàn)

    下面小編就為大家?guī)?lái)一篇Javascript 基礎(chǔ)_嵌入圖像的簡(jiǎn)單實(shí)現(xiàn)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-06-06
  • js中top/parent/frame概述及案例應(yīng)用

    js中top/parent/frame概述及案例應(yīng)用

    top:永遠(yuǎn)指分割窗口最高層次的瀏覽器窗口;parent:包含當(dāng)前分割窗口的父窗口,本文將圍繞js中top、parent、frame進(jìn)行講述及他們的應(yīng)用案例
    2013-02-02
  • Javascript MD4

    Javascript MD4

    Javascript MD4...
    2006-12-12
  • 淺談js基本數(shù)據(jù)類型和typeof

    淺談js基本數(shù)據(jù)類型和typeof

    下面小編就為大家?guī)?lái)一篇淺談js基本數(shù)據(jù)類型和typeof。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-08-08
  • js 使用form表單select類實(shí)現(xiàn)級(jí)聯(lián)菜單效果

    js 使用form表單select類實(shí)現(xiàn)級(jí)聯(lián)菜單效果

    本文介紹javascript使用html中form表單中的select類實(shí)現(xiàn)級(jí)聯(lián)菜單效果,需要的朋友可以了解下
    2012-12-12

最新評(píng)論