国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JavaScript第九天筆記(原型)

aervon / 3492人閱讀

摘要:而原型就是類型對(duì)象的一個(gè)屬性。在中并沒有定義函數(shù)的原始類型,所以原型可以是任何類型。原型是用于保存對(duì)象的共享屬性和方法的,原型的屬性和方法并不會(huì)影響函數(shù)本身的屬性和放大。

原型 概述

在JavaScript中,函數(shù)是一個(gè)包含屬性和方法的Function類型的對(duì)象。而原型(Prototype)就是Function類型對(duì)象的一個(gè)屬性。
在函數(shù)定義時(shí)九包含了prototype屬性,他的初始值是一個(gè)空對(duì)象。在JavaScript中并沒有定義函數(shù)的原始類型,所以原型可以是任何類型。
原型是用于保存對(duì)象的共享屬性和方法的,原型的屬性和方法并不會(huì)影響函數(shù)本身的屬性和放大。

獲取原型

1.通過構(gòu)造函數(shù)的prototype屬性

function fn(){
    console.log("this is function");
}
console.log(fn.prototype);

2.通過Object對(duì)象的getgetPrototypeOf()方法

function fn(){
    console.log("this is function");
}
console.log(Object.getPrototypeOf(fn));
為原型新增屬性或方法

構(gòu)造函數(shù).prototype.屬性名 = 屬性值
構(gòu)造函數(shù).prototype.方法名 = function(){}

構(gòu)造函數(shù).prototype = {
屬性名:屬性值,
方法:function(){}

}

構(gòu)造函數(shù)的原型
/*定義構(gòu)造函數(shù)*/
function Fun(){
    this.name = "segment";
    this.sayMe = function(){
        console.log("this is function");
    }
}
//操作構(gòu)造函數(shù)Fun的原型
Fun.prototype.age = 18;
// 利用構(gòu)造函數(shù)來創(chuàng)建對(duì)象
var fun = new Fun();
console.log(fun);
// 為構(gòu)造函數(shù)的原型新增的屬性 -> 構(gòu)造函數(shù)創(chuàng)建的對(duì)象中依舊可以訪問
console.log(fun.age);// 18
// 對(duì)象fun中不存在age屬性
var result = Object.getOwnPropertyDescriptor(fun, "age");
console.log(result);
自有屬性和原型屬性

自有屬性:構(gòu)造函數(shù)本身的屬性
原型屬性:通過原型所定義的屬性

function Mingzi (name){
      this .name = name;
      this .sayMe = function(){
      console .log("this is function")
      }
}
Mingzi.prototype.age = 18;
var mingzi = new Hero("石原");

console.log(mingzi.name);// 石原
console.log(mingzi.age);// 18

var mingzi2 = new Mingzi("長澤雅嗎");
console.log(mingzi2.name);// 長澤雅美
console.log(mingzi2.age);// 18
Hero.prototype.age = 80;

console.log(mingzi.age);
console.log(mingzi2.age);
重寫屬性

通過構(gòu)造函數(shù)或?qū)ο蟮淖杂袑傩钥梢灾貙懺偷膶傩?br>自有屬性與原型屬性同名時(shí),默認(rèn)訪問的是自有屬性

// 定義構(gòu)造函數(shù)
function Hero(){
    this.name = "張無忌";
}
// 構(gòu)造函數(shù)的原型
Hero.prototype.name = "周芷若";
// 構(gòu)造函數(shù)創(chuàng)建對(duì)象
var hero = new Hero();
console.log(hero.name);// 張無忌

// 刪除對(duì)象的屬性
delete hero.name;
// 重新訪問對(duì)象的屬性
console.log(hero.name);// 周芷若
檢測原型的屬性

Object.hasOwnProperty(prop)方法
作用 - 判斷當(dāng)前指定屬性是否為自有屬性
參數(shù)1.prop - 表示指定屬性名稱

2.返回值 - 布爾值
  true - 表示存在指定的自有屬性
  false - 表示不存在指定的自有屬性

使用in關(guān)鍵字檢測對(duì)象的屬性
作用 - 判斷對(duì)象中是否存在指定屬性(自有屬性或原型屬性)
返回值 - 布爾值

 true - 表示存在指定的屬性
 false - 表示不存在指定的屬性
顯示原型與隱式原型

每個(gè)函數(shù)function都有一個(gè)prototype,即顯式原型
每個(gè)實(shí)例對(duì)象都有一個(gè)__proto__,可稱為隱式原型
對(duì)象的隱式原型的值為其對(duì)應(yīng)構(gòu)造函數(shù)的顯式原型的值
函數(shù)的prototype屬性: 在定義函數(shù)時(shí)自動(dòng)添加的, 默認(rèn)值是一個(gè)空Object對(duì)象
對(duì)象的__proto__屬性: 創(chuàng)建對(duì)象時(shí)自動(dòng)添加的, 默認(rèn)值為構(gòu)造函數(shù)的prototype屬性值
我們能直接操作顯式原型, 但不能直接操作隱式原型

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/108280.html

相關(guān)文章

  • 26天學(xué)通前端開發(fā)(配資料)

    摘要:網(wǎng)上有很多前端的學(xué)習(xí)路徑文章,大多是知識(shí)點(diǎn)羅列為主或是資料的匯總,數(shù)據(jù)量讓新人望而卻步。天了解一個(gè)前端框架。也可以關(guān)注微信公眾號(hào)曉舟報(bào)告,發(fā)送獲取資料,就能收到下載密碼,網(wǎng)盤地址在最下方,獲取教程和案例的資料。 前言 好的學(xué)習(xí)方法可以事半功倍,好的學(xué)習(xí)路徑可以指明前進(jìn)方向。這篇文章不僅要寫學(xué)習(xí)路徑,還要寫學(xué)習(xí)方法,還要發(fā)資料,干貨滿滿,準(zhǔn)備接招。 網(wǎng)上有很多前端的學(xué)習(xí)路徑文章,大多是知...

    blair 評(píng)論0 收藏0
  • 九天學(xué)會(huì)Java,一天,變量和數(shù)據(jù)類型,賦值和輸出

    摘要:現(xiàn)在我們開始說編程特性第一條變量和數(shù)據(jù)類型,賦值和輸出。從廣為流傳的說起,用建立一個(gè)新的工程在目錄建一個(gè)文件變量和數(shù)據(jù)類型,賦值和輸出在中,方法是應(yīng)用程序的入口方法。變量包含三個(gè)知識(shí)點(diǎn),新建變量是字符串類型給變量賦值。 用9天入門三門編程語言,有可能嘛,尤其是對(duì)沒有基礎(chǔ)的同學(xué)來說?對(duì)于想學(xué)好的編程的人來說,無論從哪一門語言開始入手,語言的本身其實(shí)并不是我們最應(yīng)該的關(guān)心的,至少不是作為一...

    cangck_X 評(píng)論0 收藏0
  • 九天學(xué)會(huì)Java,三天,選擇結(jié)構(gòu)

    摘要:選擇結(jié)構(gòu)變量和數(shù)據(jù)類型,賦值和輸出算術(shù)運(yùn)算選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)函數(shù)定義,函數(shù)調(diào)用變量作用域棧,程序運(yùn)行的基石面向?qū)ο螽惓L幚碚Z言提供的公用包上一節(jié)介紹了的算術(shù)運(yùn)算,如加減乘除等,的運(yùn)算規(guī)則跟四則運(yùn)算一樣。 選擇結(jié)構(gòu) 變量和數(shù)據(jù)類型,賦值和輸出 算術(shù)運(yùn)算 選擇結(jié)構(gòu) = 60) { System.out.println(You have passed the exam...

    Java_oldboy 評(píng)論0 收藏0
  • 九天學(xué)會(huì)Java,四天,循環(huán)結(jié)構(gòu)

    摘要:變量和數(shù)據(jù)類型,賦值和輸出算術(shù)運(yùn)算選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)函數(shù)定義,函數(shù)調(diào)用變量作用域棧,程序運(yùn)行的基石面向?qū)ο螽惓L幚碚Z言提供的公用包這次我們講的循環(huán)結(jié)構(gòu)。循環(huán)結(jié)構(gòu)在編程中廣泛使用,所以一定要了解好循環(huán)結(jié)構(gòu)是怎么用的。正確的寫法,是用循環(huán)結(jié)構(gòu)。 變量和數(shù)據(jù)類型,賦值和輸出 算術(shù)運(yùn)算 選擇結(jié)構(gòu) 循環(huán)結(jié)構(gòu) 函數(shù)定義,函數(shù)調(diào)用 變量作用域 棧,程序運(yùn)行的基石 面向?qū)ο?異常處理 語言提供的公用包...

    Youngs 評(píng)論0 收藏0
  • 九天學(xué)會(huì)Java,五天,函數(shù)定義函數(shù)調(diào)用

    摘要:那么這種封裝的形式就叫做函數(shù)函數(shù)的格式修飾符返回值類型函數(shù)名參數(shù)類型形式參數(shù),參數(shù)類型形式參數(shù),執(zhí)行語句返回值有可能有,有可能無函數(shù)的定義我們參考函數(shù)的格式定義幾個(gè)函數(shù)因?yàn)槲覀円谥姓{(diào)用函數(shù),所以函數(shù)也要定義成。 變量和數(shù)據(jù)類型,賦值和輸出 算術(shù)運(yùn)算 選擇結(jié)構(gòu) 循環(huán)結(jié)構(gòu) 函數(shù)定義,函數(shù)調(diào)用 max) { max = b; } ...

    Cheriselalala 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<