中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

javascript面向對象程序設計高級特性經典教程(值得收藏)
來源:易賢網 閱讀:1012 次 日期:2016-06-27 11:37:59
溫馨提示:易賢網小編為您整理了“javascript面向對象程序設計高級特性經典教程(值得收藏)”,方便廣大網友查閱!

這篇文章主要介紹了javascript面向對象程序設計高級特性,結合實例形式詳細講述了javascript對象的創建,訪問,刪除,對象類型,擴展等,需要的朋友可以參考下

本文實例講述了javascript面向對象程序設計的高級特性。分享給大家供大家參考,具體如下:

1.創建對象的三種方式:

第一種構造法:new Object

var a = new Object();

a.x = 1, a.y = 2;

第二種構造法:對象直接量

var b = { x : 1, y : 2 };

第三種構造法:定義類型

function Point(x, y){

this.x = x;

this.y = y;

}

var p = new Point(1,2);

2.訪問對象

訪問對象的屬性

中括號表示法:hero['name']。、

點號表示法:hero.name。

如果訪問的屬性不存在,會返回undefined。

訪問對象的方法

方法名后加一對括號:hero.say()。

像訪問屬性一個訪問方法:hero['say']()。

3.刪除屬性與方法

//創建一個空對象

var hero = {};

//為hero對象增加屬性和方法

hero.name = "JavaScript";

hero.value = "helloworld";

hero.sayName = function(){return "hello " + hero.name;};

//測試

alert(hero.name); //output javascript

alert(hero.sayName()); //output hello javascript

//刪除hero對象的name屬性

delete hero.name;

//測試

alert(hero.sayName()); //output hello undefined

4.使用this值

//創建一個空對象

var hero = {};

//為hero對象增加屬性和方法

hero.name = "javascript";

hero.value = "helloworld";

hero.sayName = function(){return "hello " + this.name;};

//測試

alert(hero.name); //output javascript

alert(hero.sayName()); //output hello javascript

總結:

① 這里的this實際上引用的是“這個對象”或“當前對象”。

② this的用法,大部分人的使用問題都比較多。所以不建議過多使用!

5.內建對象

內建對象大致上可以分為三個組:

① 數據封裝類對象 —— 包括Object、Array、Boolean、Number和String。這些對象代表著javascript中不同的數據類型,并且都擁有各自不同的typeof返回值,以及undefined和null狀態。

② 工具類對象 —— 包括Math、Date、RegExp等用于提供遍歷的對象。

③ 錯誤類對象 —— 包括一般性錯誤對象以及其他各種更特殊的錯誤類對象。它們可以在某些異常發生時幫助我們糾正程序工作狀態。

6.Object對象

Object是javascript中所有對象的父級對象,這意味著所有對象都繼承于Object對象。

創建一個空對象:

var object = {};

var obj = new Object();

7.Array對象

Array對象用于在單個的變量中存儲多個值。

創建一個空Array對象:

var object = {};

var obj = new Array();

例如1:

//反轉字符串示例

//定義一個字符串

var str = "a,b,c,d,e,f,g";

//利用String對象的split()方法,將字符串切割成一個數組

var arr = str.split(",");

//利用Array對象的reverse()方法,將數組中元素的順序顛倒。

arr = arr.reverse();

//測試打印

alert(arr.toString());

8.String對象

String對象與基本的字符串類型之間的區別:

var str = "hello";

var obj = new String("world");

alert(typeof str); //typeof string

alert(typeof obj); //typeof object

例如1:

//判斷字符串是否包含指定字符串示例

//定義兩個要判斷的字符串

var str = "abcdefg";

var substr = "efg";

/*

* 定義判斷字符串是否包含指定字符串的函數

* * 第一個參數:要判斷的字符串

* * 第二個參數:指定的字符串

*/

function sub(str,substr){

//將判斷的字符串定義成String對象

var string = new String(str);

//截取判斷的字符串

var result = string.substr(string.indexOf(substr),substr.length);

/*

* 判斷截取后的字符串是否為空

* * 為空,說明不包含指定字符串

* * 不為空,說明包含指定字符串

*/

if(result==substr){

return true;

}else{

return false;

}

}

alert(sub(str,substr));

9.原型(prototype)

函數本身也是一個包含了方法和屬性的對象。而現在我們要研究的就是函數對象的另一個屬性 —— prototype。

利用原型添加方法與屬性

利用自身屬性重寫原型屬性

擴展內建對象

利用原型添加方法與屬性

下面創建一個新的函數對象,并設置一些屬性和方法:

function Hero(name, color){

this.name = name;

this.color = color;

this.whatareyou = function(){

return "I am a " + this.color + " " + this.name;

}

}

var hero = new Hero("javascript","red");

alert(hero.whatareyou()); //output I am a red javascript

為上面的Hero函數對象增加一些屬性和方法:

Hero.prototype.price = 100;

Hero.prototype.rating = 3;

Hero.prototype.getInfo = function(){

return "Rating: " + this.rating + " , Price: " + this.price;

}

alert(hero.getInfo()); //output Rating: 3 , Price: 100

上面的方式,也可以這樣去做:

Hero.prototype = {

price : 100,

rating : 3,

getInfo : function(){

return "Rating: " + this.rating + " , Price: " + this.price;

}

};

利用自身屬性重寫原型屬性

如果對象的自身屬性與原型屬性同名該怎么辦呢?答案是對象自身屬性的優先級高于原型屬性。

function Hero(){

this.name = "jscript";

}

Hero.prototype.name = "javascript";

var hero = new Hero();

alert(hero.name); //output jscript

delete hero.name;

alert(hero.name); //output javascript

擴展內建對象

//為原型 Array對象增加一個判斷的函數

Array.prototype.inArray = function(color){

for(var i = 0, len = this.length; i < len; i++){

if(this[i] === color){

return true;

}

}

return false;

}

//定義一個Array對象

var a = ["red", "green", "blue"];

//測試

alert(a.inArray("red")); //true

alert(a.inArray("yellow")); //false

10.繼承

如果兩個類都是同一個實例的類型,那么它們之間存在著某些關系,我們把同一個實例的類型之間的泛化關系稱為“繼承”。

繼承關系至少包含三層含義:

① 子類的實例可以共享父類的方法。

② 子類可以覆蓋父類的方法或擴展新的方法。

③ 子類和父類都是子類實例的“類型”。

在javascript中,并不支持“繼承”。也就是說,javascript中沒有繼承的語法。從這個意義上來說,javascript并不是直接的面向對象語言。

11.原型鏈

原型鏈是ECMAScript標準制定的默認繼承方式。

例如:

function A(){

this.name = "a";

this.toString = function(){return this.name};

}

function B(){

this.name = "b";

}

function C(){

this.name = "c";

this.age = 18;

this.getAge = function(){return this.age};

}

B.prototype = new A();

C.prototype = new B();

解釋說明:

將對象直接創建在B對象的prototype屬性中,并沒有去擴展這些對象的原有原型。

通過new A ( ) 另創建了一個新的實體,然后用它去覆蓋該對象的原型。

javascript是一種完全依靠對象的語言,其中沒有類(class)的概念。

因此,需要直接用new A ( ) 創建一個實體,然后才能通過該實體的屬性完成相關的繼承工作。

完成這樣的繼承實現之后,對 A ( ) 所進行的任何修改、重寫或刪除,都不會對 B ( ) 產生影響。

只繼承于原型:

function A(){}

A.prototype.name = "a";

A.prototype.toString = function(){return this.name};

function B(){}

B.prototype = A.prototype;

B.prototype.name = "b";

function C(){}

C.prototype = B.prototype;

C.prototype.name = "c";

C.prototype.age = 18;

C.prototype.getAge = function(){return this.age};

對象之間的繼承(擴展內容,可以不會)(淺復制)

//該函數接受一個對象并返回它的副本

function extendCopy(p){

var z = {}; //定義一個空的對象z

for(var i in p){ //var i =0 ; i < p.length ; i++

z[i] = p[i]; //都當做數組處理的話,可以理解

}

//uber屬性:將p作為z的父級,將z指向p的原型

z.uber = p;

return z;

}

//定義對象a,但是對象a不是函數對象

var a = {

name : "a",

toStr : function(){return this.name;}

}

//定義對象b,但是對象b不是函數對象

var b = extendCopy(a);

b.name = "b";

b.toStr = function(){return this.uber.toStr() + " , " + this.name;};

//定義對象c,但是對象c不是函數對象

var c = extendCopy(b);

c.name = 18;

alert(c.toStr()); //output a , b , 18

希望本文所述對大家JavaScript程序設計有所幫助。

更多信息請查看網絡編程
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
欧美精品三级日韩久久| 久久久久成人精品| 亚洲欧美日韩直播| 国产精品高潮久久| 亚洲欧美日韩综合aⅴ视频| 国产麻豆午夜三级精品| 免费成人黄色片| 一区二区免费在线观看| 国产亚洲一级| 欧美国产专区| 欧美精品色网| 久久久久久999| 一区二区在线视频观看| 欧美性猛交视频| 欧美高清在线| 久久久亚洲精品一区二区三区| 99精品99| 一卡二卡3卡四卡高清精品视频| 狠狠狠色丁香婷婷综合久久五月| 欧美日韩伦理在线| 国产精品jvid在线观看蜜臀| 欧美美女喷水视频| 欧美日韩激情小视频| 欧美日韩精品免费| 欧美性感一类影片在线播放| 欧美日韩八区| 欧美视频不卡| 国产精品色婷婷| 国产一区av在线| 亚洲第一色在线| 在线视频一区观看| 午夜精品久久久| 久久成人免费| 欧美精品亚洲精品| 欧美久久久久| 国产精品视区| 亚洲精品乱码| 久久九九国产| 欧美日韩国产小视频| 国产精品视频自拍| 亚洲欧洲另类国产综合| 亚洲一级二级| 欧美精品观看| 国产专区综合网| 亚洲男人的天堂在线aⅴ视频| 免费观看亚洲视频大全| 免费精品视频| 黄色av一区| 亚洲制服av| 欧美日韩在线综合| 91久久久在线| 免费日韩av电影| 国产一区二区高清| 亚洲一区精品视频| 欧美精品导航| 亚洲精品婷婷| 欧美激情视频一区二区三区免费 | 欧美国产精品日韩| 国产一在线精品一区在线观看| 99热免费精品| 欧美伦理91| 99re成人精品视频| 欧美—级a级欧美特级ar全黄| 欧美色精品在线视频| 欧美日韩伊人| 亚洲欧洲一区二区天堂久久 | 在线亚洲精品福利网址导航| 蜜月aⅴ免费一区二区三区| 国产一区二区三区网站| 久久成人久久爱| 狠狠久久五月精品中文字幕| 中文精品在线| 国产精品国产三级国产专播品爱网| 亚洲一区二区少妇| 欧美日韩亚洲精品内裤| 亚洲免费视频成人| 国产精品一区二区三区四区五区| 欧美一区二区三区久久精品茉莉花| 国产精品美女久久福利网站| 久久动漫亚洲| 日韩亚洲欧美一区| 国产一区二区三区不卡在线观看 | 欧美亚洲在线| 1000部国产精品成人观看| 欧美日韩精品一二三区| 久久精品国产在热久久| 亚洲美女黄网| 国内精品久久久久影院色| 欧美日本韩国一区二区三区| 久久精品国产欧美亚洲人人爽| 亚洲人成在线观看一区二区| 国产日本亚洲高清| 黄色在线一区| 欧美日韩在线视频一区二区| 久久综合色一综合色88| 香蕉成人啪国产精品视频综合网| 亚洲裸体在线观看| 最新精品在线| 夜夜嗨av一区二区三区四季av| 怡红院av一区二区三区| 国产综合香蕉五月婷在线| 国产精品一区一区| 国产精品一级久久久| 国产精品久久久久久久久借妻| 欧美日韩国产一区二区| 欧美日韩国产首页| 国产精品jvid在线观看蜜臀| 欧美日韩一区二区三| 美女尤物久久精品| 欧美激情精品久久久久久久变态 | 欧美激情第三页| 欧美精品一区二| 国产精品久久久久久超碰| 国产精品福利网| 国产日韩欧美日韩| 在线观看欧美日本| 亚洲乱码日产精品bd| 国产精品每日更新在线播放网址| 国产欧美一区二区视频| 欧美一区二区在线视频| 亚洲片区在线| 亚洲欧美日韩国产中文在线| 国产精品日韩精品| 99国产精品久久| 久久久久久久综合日本| 夜夜夜久久久| 国内精品久久久久久影视8 | 欧美一区二区三区在线视频| 免费影视亚洲| 亚洲激情婷婷| 欧美日韩国产探花| 国产欧美一区二区视频| 麻豆久久精品| 在线视频一区二区| 亚洲欧美日韩在线| 欧美成人一区二区在线| 国产精品高清网站| 韩日精品在线| 亚洲自拍啪啪| 欧美女人交a| 91久久国产综合久久91精品网站| 亚洲精品久久久蜜桃| 久久午夜精品| 国产精品中文在线| 亚洲一区二区四区| 欧美激情视频免费观看| 在线观看国产一区二区| 欧美一区二区三区婷婷月色| 国产精品国产三级国产专播品爱网| 亚洲激情成人网| 欧美a级片一区| 亚洲精品在线免费观看视频| 狂野欧美性猛交xxxx巴西| 国产精品腿扒开做爽爽爽挤奶网站| 怡红院精品视频| 免费一区视频| 亚洲午夜免费福利视频| 国产伦精品一区二区| 久久国产精品久久国产精品| 国产一区二区三区久久久| 久久一区二区三区av| 亚洲三级视频| 国产精品嫩草影院av蜜臀| 欧美在线免费观看| 欧美激情精品久久久久久变态| 日韩亚洲精品电影| 国产日韩在线视频| 欧美黄色大片网站| 亚洲一区精品在线| 亚洲第一网站| 国产欧美精品日韩精品| 免费观看久久久4p| 日韩一区二区精品在线观看| 国产日韩欧美一区| 欧美日韩在线播放一区二区| 国产片一区二区| 久久免费视频这里只有精品| 亚洲黄色尤物视频| 国内一区二区三区| 国产女人aaa级久久久级| 欧美日韩xxxxx| 欧美精品日日鲁夜夜添| 蜜臀av在线播放一区二区三区| 国产精品一区在线观看| 欧美 日韩 国产在线 | 亚洲中字在线| 午夜精品久久久久久久| 欧美日一区二区在线观看| 欧美激情欧美狂野欧美精品| 欧美日韩高清区| 国产精品区一区二区三区| 国产精品第一区| 国产综合久久| 在线看无码的免费网站| 亚洲国产一区二区在线| 亚洲欧美日韩精品久久久久| 日韩视频中文字幕| 香蕉精品999视频一区二区 | 亚洲国产一区二区a毛片| 在线看片第一页欧美|