内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

javaScript中原型與原型鏈?zhǔn)鞘裁?創(chuàng)新互聯(lián)

javaScript 中原型與原型鏈?zhǔn)鞘裁??這個(gè)問(wèn)題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見(jiàn)到的。希望通過(guò)這個(gè)問(wèn)題能讓你收獲頗深。下面是小編給大家?guī)?lái)的參考內(nèi)容,讓我們一起來(lái)看看吧!

創(chuàng)新互聯(lián)主要從事做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)石首,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專(zhuān)業(yè),歡迎來(lái)電咨詢(xún)建站服務(wù):18980820575

javascript欄目簡(jiǎn)單明了介紹原型與原型鏈。

在 JavaScript 中,原型和原型鏈?zhǔn)遣豢杀苊獾闹匾拍?,那么怎么去理解原型和原型鏈呢?下面是我?duì)原型和原型鏈的理解和總結(jié)。也許有些理解還比較淺薄,隨著時(shí)間的推移和理解的深入,以后還會(huì)補(bǔ)充。如果大家發(fā)現(xiàn)我理解的有問(wèn)題,歡迎大家在評(píng)論中指正。

1. 為什么 javaScript 設(shè)計(jì)為基于原型的模式

在以往的學(xué)習(xí)過(guò)程中,我們?cè)ㄟ^(guò)學(xué)習(xí)面向?qū)ο笳Z(yǔ)言 java 了解到其有三個(gè)要素:封裝、繼承、多態(tài)。關(guān)于繼承,java 與 javascript 其實(shí)兩者并不完全一樣。
      那么 javascript 到底是如何設(shè)計(jì)出來(lái)的呢?早期,瀏覽器只能瀏覽網(wǎng)頁(yè)內(nèi)容,而不能進(jìn)行用戶(hù)交互,也就說(shuō)當(dāng)我們輸入賬號(hào)密碼進(jìn)行登錄時(shí),瀏覽器不能對(duì)其輸入內(nèi)容進(jìn)行判斷,需要通過(guò)服務(wù)器進(jìn)行判斷,而網(wǎng)景公司為了解決這一問(wèn)題,發(fā)明一種與 java 搭配使用的輔助腳本語(yǔ)言,并在語(yǔ)法上有些類(lèi)似。由此可以看出,javascript 受到 java 的影響,其都是對(duì)象類(lèi)型,有對(duì)象則就會(huì)涉及到繼承機(jī)制,那么JS的繼承機(jī)制是怎么樣呢?
      JS參考java的設(shè)計(jì),使用new操作符生成對(duì)象,但其與java不同的是new后面跟的是 Construtor 而不是 Class 。

// java 中生成一個(gè)對(duì)象
Person p = new Person() // Person 指的是類(lèi)名

// js 生成一個(gè)對(duì)象
function Person (age) {
    this.age = age
    this.nation = 'China'
}
var father = new Person(42) // Person 指的是構(gòu)造函數(shù)
var mingming = new Person(11)復(fù)制代碼

2. 構(gòu)造函數(shù) Constructor

構(gòu)造函數(shù)也是普通函數(shù),其也有 prototype 屬性,與普通函數(shù)的區(qū)別是其要求首字母大寫(xiě)。若構(gòu)造函數(shù)使用new操作符調(diào)用時(shí),其需要執(zhí)行四個(gè)步驟:
      1. 創(chuàng)建一個(gè)新的對(duì)象
      2. 將 this 指向這個(gè)新的對(duì)象
      3. 執(zhí)行構(gòu)造函數(shù),給新對(duì)象添加屬性和方法
      4. 返回這個(gè)新對(duì)象

function Food (name) {
    this.name = name
    this.eat = function () {
        console.log('eat')
    }
}
var food = new Food('banana')復(fù)制代碼

3. 原型 prototype

任何一個(gè)函數(shù)都有一個(gè) prototype 屬性,它指向 prototype 對(duì)象。那么原型其實(shí)就是一個(gè)對(duì)象,在原型上定義的屬性,通過(guò)繼承(new 操作符實(shí)現(xiàn)),實(shí)例化的對(duì)象也擁有了該屬性。
      原型與構(gòu)造函數(shù)的關(guān)系:構(gòu)造函數(shù)內(nèi)有一個(gè) prototype 屬性,通過(guò)該屬性可以訪問(wèn)到原型。

javaScript 中原型與原型鏈?zhǔn)鞘裁?></p><p>以構(gòu)造函數(shù)中的代碼為例,F(xiàn)ood 就是構(gòu)造函數(shù),F(xiàn)ood.prototype 就是原型,food 就是參照 Food.prototype 生成的一個(gè)對(duì)象。</p><p><img src=javaScript中原型與原型鏈?zhǔn)鞘裁?創(chuàng)新互聯(lián)
新聞來(lái)源:http://www.rwnh.cn/article8/posop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、品牌網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)站收錄關(guān)鍵詞優(yōu)化、品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

營(yíng)銷(xiāo)型網(wǎng)站建設(shè)
青川县| 固原市| 牡丹江市| 扎赉特旗| 辽阳县| 都昌县| 泉州市| 南溪县| 剑河县| 常熟市| 理塘县| 高要市| 抚州市| 浦城县| 平定县| 荔浦县| 通化市| 浮梁县| 东安县| 习水县| 日土县| 长阳| 三门县| 天门市| 涿鹿县| 南昌市| 新泰市| 临朐县| 理塘县| 泽库县| 蓝山县| 方城县| 怀宁县| 石门县| 南宫市| 策勒县| 囊谦县| 淮北市| 泾源县| 丰宁| 鲜城|