最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript prototype原型操作筆記

 更新時間:2009年12月07日 19:22:55   作者:  
在 JavaScript 中,prototype 不但能讓對象共享自己財富,而且 prototype 還有尋根問祖的天性,從而使得先輩們的遺產可以代代相傳。
復制代碼 代碼如下:

//var People={name:"xiong",age:15};
//var Person=function(user,age){
//    this.name=user;
//    this.age=age;
//    this.say=function(){alert("I am "+this.name+"\n"+this.age);}
//}
//var Chairman=function(name,salary){
//    Person.call(this,name);
//    }
//var Bill=new Person("Bill",15);
//var Hu=new Chairman("Hu Jintao");
//Person.prototype.eat=function(){
//    alert("I'm eating");
//    }
//Bill.eat();
function Person(name) //基類構造函數(shù)
{
this.name = name;
};

Person.prototype.SayHello = function() //給基類構造函數(shù)的 prototype 添加方法
{
alert("Hello, I'm " + this.name);
};

function Employee(name, salary) //子類構造函數(shù)
{
Person.call(this, name); //調用基類構造函數(shù)
this.salary = salary;
};

    function Xiong(name,age){
        Employee.call(this,name);

        }

Employee.prototype = new Person(); //建一個基類的對象作為子類原型的原型,這里很有意思

    Xiong.prototype=new Employee();

Employee.prototype.ShowMeTheMoney = function() //給子類添構造函數(shù)的 prototype 添加方法
{
alert(this.name + " $" + this.salary);
};
var BillGates = new Person("Bill Gates"); //創(chuàng)建基類 Person 的 BillGates 對象
var SteveJobs = new Employee("Steve Jobs", 1234); //創(chuàng)建子類 Employee 的 SteveJobs對象
     var hiakuotiankong=new Xiong("海闊天空");
     var benbenxiong=new Xiong("笨笨熊");

// BillGates.SayHello(); //通過對象直接調用到 prototype 的方法
// hiakuotiankong.SayHello(); //通過子類對象直接調用基類 prototype 的方法,關注!
     benbenxiong.SayHello=function(){ //掩蓋了原型的 SayHello 方法
         alert("haha,I'm"+this.name);
}
         benbenxiong.SayHello();
// SteveJobs.ShowMeTheMoney(); //通過子類對象直接調用子類 prototype 的方法
// alert(BillGates.SayHello == SteveJobs.SayHello); //顯示:true,表明 prototype 的方法是共享的
    Xiong.prototype.Goodbye=function(){
         alert(this.name+"Bye-bye");
        }
    benbenxiong.Goodbye();    

在 JavaScript 中,prototype 不但能讓對象共享自己財富,而且 prototype 還有尋根問祖的
天性,從而使得先輩們的遺產可以代代相傳。當從一個對象那里讀取屬性或調用方法時,如果該對象自
身不存在這樣的屬性或方法,就會去自己關聯(lián)的 prototype 對象那里尋找;如果 prototype 沒有,又會
去 prototype 自己關聯(lián)的前輩 prototype 那里尋找,直到找到或追溯過程結束為止。

在 JavaScript 內部,對象的屬性和方法追溯機制是通過所謂的 prototype 鏈來實現(xiàn)的。當用 new
操作符構造對象時,也會同時將構造函數(shù)的 prototype 對象指派給新創(chuàng)建的對象,成為該對象內置的原
型對象。對象內置的原型對象應該是對外不可見的,盡管有些瀏覽器(如 Firefox)可以讓我們訪問這個
內置原型對象,但并不建議這樣做。內置的原型對象本身也是對象,也有自己關聯(lián)的原型對象,這樣就
形成了所謂的原型鏈。

在原型鏈的最末端,就是 Object 構造函數(shù) prototype 屬性指向的那一個原型對象。這個原型對象
是所有對象的最老祖先,這個老祖宗實現(xiàn)了諸如 toString 等所有對象天生就該具有的方法。其他內置
構造函數(shù),如 Function, Boolean, String, Date 和 RegExp 等的 prototype 都是從這個老祖宗傳承下
來的,但他們各自又定義了自身的屬性和方法,從而他們的子孫就表現(xiàn)出各自宗族的那些特征。

相關文章

  • npm install報錯無法創(chuàng)建packge.json文件的解決辦法

    npm install報錯無法創(chuàng)建packge.json文件的解決辦法

    當你在運行 npm install 時遇到錯誤,提示無法找到 package.json 文件,也沒有創(chuàng)建一個 package.json 文件,只創(chuàng)建了一個package-lock.json文件,本文給大家介紹詳細的解決辦法,需要的朋友可以參考下
    2024-02-02
  • 用Javascript評估用戶輸入密碼的強度(Knockout版)

    用Javascript評估用戶輸入密碼的強度(Knockout版)

    早上看到博友6點多發(fā)的一篇關于密碼強度的文章(連接),甚是感動(周末大早上還來發(fā)文)
    2011-11-11
  • javascript ready和load事件的區(qū)別示例介紹

    javascript ready和load事件的區(qū)別示例介紹

    ready是在DOM加載完成就觸發(fā);load是在加載完所有頁面內容才會觸發(fā),下為大家簡要介紹下,不知道的朋友可以參考下
    2013-08-08
  • JS中for循環(huán)的四種寫法示例(入門級)

    JS中for循環(huán)的四種寫法示例(入門級)

    對于for循環(huán)相信大家再常用不過了,下面這篇文章主要給大家介紹了關于JS中for循環(huán)的四種寫法,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-04-04
  • 前端生成word文件的兩種方式總結

    前端生成word文件的兩種方式總結

    這篇文章主要介紹了前端生成word文件的兩種方式,兩種方法分別是html-docx-js和pizzip+docxtemplater,html-docx-js簡單易用,但支持的HTML和CSS有限,且不支持圖片,pizzip+docxtemplater需要預先設置Word文件樣式,但支持更復雜的樣式和圖片插入,需要的朋友可以參考下
    2025-03-03
  • web項目開發(fā)之JS函數(shù)防抖與節(jié)流示例代碼

    web項目開發(fā)之JS函數(shù)防抖與節(jié)流示例代碼

    這篇文章主要介紹了web項目開發(fā)之JS函數(shù)防抖與節(jié)流實現(xiàn)的示例代碼及原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-09-09
  • js代碼實現(xiàn)輪播圖

    js代碼實現(xiàn)輪播圖

    這篇文章主要為大家詳細介紹了js代碼實現(xiàn)輪播圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • 詳解Javascript?基于長連接的服務框架問題

    詳解Javascript?基于長連接的服務框架問題

    本文針對經常使用長連接進行消息收發(fā)的應答場景,采用 Websocket 長連接作為服務監(jiān)聽的對象,模擬了一套類 http 服務框架,通過實例代碼介紹了Javascript?基于長連接的服務框架,需要的朋友可以參考下
    2022-07-07
  • JS判斷兩個時間大小的示例代碼

    JS判斷兩個時間大小的示例代碼

    本篇文章只要是對JS判斷兩個時間大小的示例代碼進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2014-01-01
  • Javascript iframe交互并兼容各種瀏覽器的解決方法

    Javascript iframe交互并兼容各種瀏覽器的解決方法

    這篇文章主要介紹了Javascript iframe交互并兼容各種瀏覽器的解決方法的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-07-07

最新評論

定南县| 贡觉县| 平远县| 融水| 甘谷县| 锦州市| 垣曲县| 二连浩特市| 昆明市| 高台县| 沅陵县| 宜黄县| 桃园市| 淮阳县| 萝北县| 徐闻县| 介休市| 平和县| 教育| 甘孜| 海盐县| 十堰市| 西贡区| 离岛区| 法库县| 顺昌县| 平果县| 前郭尔| 读书| 沈丘县| 冕宁县| 南郑县| 方山县| 承德市| 土默特左旗| 榕江县| 喀喇沁旗| 耒阳市| 湘阴县| 鸡泽县| 聂拉木县|