欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
博客園 - 鳥(niǎo)食軒 - JScript中的prototype(原型)屬性研究(1)

JScript中的prototype(原型)屬性研究(1)

    我們知道JScript中對象的prototype屬性,是用來(lái)返回對象類(lèi)型原型的引用的。我們使用prototype屬性提供對象的類(lèi)的一組基本功能。并且對象的新實(shí)例會(huì )"繼承"賦予該對象原型的操作。但是這個(gè)prototype到底是怎么實(shí)現和被管理的呢?

    對于對象的prototype屬性的說(shuō)明,JScript手冊上如是說(shuō):所有 JScript 內部對象都有只讀的 prototype 屬性??梢韵蚱湓椭袆?dòng)態(tài)添加功能(屬性和方法),但該對象不能被賦予不同的原型。然而,用戶(hù)定義的對象可以被賦給新的原型。

    下面我們看三個(gè)經(jīng)典的prototype屬性的使用示例。

    1、為腳本環(huán)境內建對象添加方法:

 Array.prototype.max = function()
 {
     
var i, max = this[0];
     
for (i = 1; i < this.length; i++)
     {
       
if (max < this[i])
        max 
= this[i];
     }
    
return max;
 };

    2、為用戶(hù)自定義類(lèi)添加方法:
 function TestObject(name)
 {
     
this.m_Name = name;
 }

 TestObject.prototype.ShowName 
= function()
 {
     alert(
this.m_Name);
 };

    3、更新自定義類(lèi)的prototype:
 function TestObjectA()
 {
    
this.MethodA = function()
    {
       alert(‘TestObjectA.MethodA()‘);
    }
 }

 
function TestObjectB()
 {
    
this.MethodB = function()
    {
       alert(‘TestObjectB.MethodB()‘);
    }
 }

 TestObjectB.prototype 
= new TestObjectA();

    第三個(gè)很眼熟吧?對啊,它就是我們前面介紹的原型繼承法呀~~ 不過(guò)今天我們不是研究"繼承",之所以可以這樣來(lái)實(shí)現一種繼承,只是利用了prototype屬性的一個(gè)副作用而已。

    prototype還有一個(gè)默認的屬性:constructor,是用來(lái)表示創(chuàng )建對象的函數的(即我們OOP里說(shuō)的構造函數)。constructor屬性是所有具有prototype屬性的對象的成員。它們包括除Global和Math對象以外的所有JScript內部對象。constructor屬性保存了對構造特定對象實(shí)例的函數的引用。

    弄清楚了JScript中prototype屬性怎么使用后,下面我們再來(lái)深入的研究它。

posted on 2005-02-17 22:59 birdshome 閱讀(7091) 評論(6)  編輯 收藏 收藏至365Key 所屬分類(lèi): JScript&DHTML開(kāi)發(fā)

評論

# re: JScript中的prototype(原型)屬性研究(1)  回復   

暈,我正看著(zhù)下面要怎么寫(xiě)呢。敲一下回車(chē)就提交了。
不好意思,請刪除。
說(shuō)說(shuō)對第三種的看法:

個(gè)人認為這樣寫(xiě)不是很方便。^_^

還不如:

function TestObjectA()
{
this.MethodA = function()
{
alert(‘TestObjectA.MethodA()‘);
}
this.MethodB = function()
{
alert(‘TestObjectB.MethodB()‘);
}
}

可能是我喜歡使用js的動(dòng)態(tài)性的原因吧!
像第三種一定得加上TestObjectB.prototype = new TestObjectA();
這樣很不方便。
我覺(jué)得還不如在某些不需要MethodA 的地方加上delete。這樣就很像virtual了。
比如:
<script>
function A(){
this.a = function(){
alert("asdf");
}
this.b = function(){
alert("ttt");
}
}
var a = new A();
for(var item in a) a[item]();
delete a.a;
for(var item in a) a[item]();
</script>
這樣可以想覆蓋就覆蓋,想刪除就刪除,想使用就使用。
2005-02-18 03:43 | 辣妹子

# re: JScript中的prototype(原型)屬性研究(1)  回復   

這個(gè)主題專(zhuān)講prototype,例三只是說(shuō)明用戶(hù)可以覆蓋自定"類(lèi)"的prototype而已。謝謝你的意見(jiàn),不過(guò)好像更適合JS的OOP這樣的討論哦。
2005-02-18 10:13 | birdshome

# re: JScript中的prototype(原型)屬性研究(1)  回復   

"3、更新自定義類(lèi)的prototype:"
這個(gè)傻了吧? 不是也用了this.methodxx = xx了么?
寫(xiě)東西要統一
2005-03-13 13:07 | xx

# re: JScript中的prototype(原型)屬性研究(1)  回復   

@xx
這個(gè)和第2個(gè)一樣嗎?你理解的是什么?
2005-03-13 13:29 | birdshome

# re: JScript中的prototype(原型)屬性研究(1)  回復   

好好利用prototype是我的目標。謝謝樓主的講解,真是令人茅塞頓開(kāi)!
2005-07-19 19:27 | 軒轅劍

# re: JScript中的prototype(原型)屬性研究(1)  回復   

謝謝樓主的講解 真透徹
2005-11-23 14:11 | 大飛
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
prototype屬性為javascript對象擴展屬性和方法
javascript——prototype與
修改構造函數原型——JavaScript中的對象(二)
深入理解javascript原型和閉包(6)
JavaScript 面向對象編程
JavaScript: 使用面向對象的技術(shù)創(chuàng )建高級 Web 應用程序
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久