成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

關(guān)于原型簡單的了解

Martin91 / 1145人閱讀

摘要:在中并沒有定義函數(shù)的圓形類型,所以原型可以時任何類型。原型時用于保護(hù)對象的共享屬性和方法的,原型的屬性和方法并不會影響函數(shù)本身的屬性和方法。構(gòu)造函數(shù)屬性名屬性值,方法名自由屬性和原型屬性自由屬性通過對象的引用添加的屬性。

原型

原型是聲明

在JavaScript中, 函數(shù)時一個包含屬性和方法的Function類型的對象。而原型(Prototype)就是Function類型對象的一個屬性。在函數(shù)定義是就包含了protopype屬性,它的出事值時一個空對像。在JavaScript中并沒有定義函數(shù)的圓形類型,所以原型可以時任何類型。 原型時用于保護(hù)對象的共享屬性和方法的,原型的屬性和方法并不會影響函數(shù)本身的屬性和方法。
function foo (a,b){
return a+b;
}
console.log (typeof foo.prototyoe);//boject

獲取原型

通過如下兩種方式可以獲取對象的原型,從而設(shè)置共享的屬性和方法:
通過構(gòu)造函數(shù)的prototype屬性
function person(){
console.log ("person instantiated");
}
console.log(person.prototype);
通過Object對象的getPrototypeOf(obj)方法。
function Person(){
console.log (person instantiated);
}
console.log(Object.getprototypeOf(person));

原型的屬性和方法

通過如下兩種方式可以設(shè)置原型的屬性和方法。
構(gòu)造函數(shù).Prototype.屬性名+屬性值;
構(gòu)造函數(shù).prototype.方法名=function(){}
直接為原型定義一個新對象。
構(gòu)造函數(shù).prototype={
屬性名:屬性值,
方法名:function(){}
}

自由屬性和原型屬性

自由屬性: 通過對象的引用添加的屬性。其他對象可能無此屬性:即使有,也是彼此獨立的屬性。
原型屬性:從原型屬性對象中繼承來的屬性,一旦原型屬性中屬性改變,所有繼承原型屬性對象屬性均改變。
function Emo(ename,salary){
this.ename=ename;
this.salary=salary;
}
Emp.prototype={city:北京市,dept:研發(fā)部}
var emp1 =new Emp("Mary",3800);
var emp2 =new Emp("tmp",3000);

檢測自由或原有屬性

使用hasOwnPrototype()方法檢測對象時否具有指定的自有屬性:
function Hero(){}
var hero = new Hero()
console.log(hero.hasOwnPrototype("name"));
使用in關(guān)鍵字檢測對象及其原型鏈中是否具有指定的屬性:
function Hero(){}
var hero=new Hero();
console.;log("name"in hero);

擴(kuò)展屬性或方法

通過原型看為指定構(gòu)造函數(shù)或?qū)ο髷U(kuò)展其屬性或方法,如下代碼實例:
function Hero (){}
Hero.protoptype={
name:"Mary",
salary:3800}
var hero =new Hero();
console.log (hero.name);//mary

重寫原型屬性

通過構(gòu)造函數(shù)或?qū)ο蟮淖杂蓪傩钥梢灾貙懺偷膶傩裕?如下代碼示例:
function Hero(){}
Hero.prototype={}

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

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/108355.html

相關(guān)文章

  • 關(guān)于個人第一天前端面試面試問答QA,希望能對其他找前端工作朋友有所幫助。

    摘要:兩日前,發(fā)了一篇吐槽,莫名的火了一把。關(guān)于的第一個,其實就是聲明一個常量,不允許變更。另外對象迭代這里出自,阮一峰大神寫的入門指南,對象篇。 兩日前,發(fā)了一篇吐槽,莫名的火了一把。經(jīng)過大家的建議與鼓勵,于是修改了簡歷,開始了重新投遞,2天后接到第一份面試邀請。 此文為個人面試經(jīng)歷,QA問答過程與總結(jié),不透露面試公司及面試人員,內(nèi)容真實,如果有面試過我的大佬看到博客,歡迎指出問題。 循序...

    Youngdze 評論0 收藏0
  • 關(guān)于javascript原型原型鏈,看我就夠了(一)

    摘要:要用作原型的對象。函數(shù)對象可以創(chuàng)建普通對象,這個我們上面講過了回顧一下這是一個自定義構(gòu)造函數(shù)普通對象沒法創(chuàng)建函數(shù)對象,凡是通過創(chuàng)建的對象都是函數(shù)對象,其他都是普通對象通常通過創(chuàng)建,可以通過來判斷。 關(guān)于js的原型和原型鏈,有人覺得這是很頭疼的一塊知識點,其實不然,它很基礎(chǔ),不信,往下看要了解原型和原型鏈,我們得先從對象說起 創(chuàng)建對象 創(chuàng)建對象的三種方式: 對象直接量 通過對象直接量創(chuàng)建...

    MoAir 評論0 收藏0
  • 深入理解JS面向?qū)ο螅ǜ轮校?/b>

    摘要:的面向?qū)ο笾饕藘蓧K創(chuàng)建對象繼承。構(gòu)造函數(shù)一般來說,我們可以這樣定義構(gòu)造函數(shù)構(gòu)造函數(shù)的函數(shù)名常大寫在這里,我們沒有顯示的創(chuàng)建對象,沒有語句,卻將屬性和方法賦值給了。 面向?qū)ο笫擒浖_發(fā)方法。面向?qū)ο蟮母拍詈蛻?yīng)用已超越了程序設(shè)計和軟件開發(fā),擴(kuò)展到如數(shù)據(jù)庫系統(tǒng)、交互式界面、應(yīng)用結(jié)構(gòu)、應(yīng)用平臺、分布式系統(tǒng)、網(wǎng)絡(luò)管理結(jié)構(gòu)、CAD技術(shù)、人工智能等領(lǐng)域。面向?qū)ο笫且环N對現(xiàn)實世界理解和抽象的方法...

    陳偉 評論0 收藏0
  • JavaScript深入淺出

    摘要:理解的函數(shù)基礎(chǔ)要搞好深入淺出原型使用原型模型,雖然這經(jīng)常被當(dāng)作缺點提及,但是只要善于運用,其實基于原型的繼承模型比傳統(tǒng)的類繼承還要強(qiáng)大。中文指南基本操作指南二繼續(xù)熟悉的幾對方法,包括,,。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。 怎樣使用 this 因為本人屬于偽前端,因此文中只看懂了 8 成左右,希望能夠給大家?guī)韼椭?...(據(jù)說是阿里的前端妹子寫的) this 的值到底...

    blair 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<