js物件導向(一) 基本的概念 屬性 方法

2022-07-15 17:45:10 字數 2484 閱讀 3135

一、什麼是物件導向程式設計

1、用物件的思想去寫**,就是物件導向程式設計

2、我們一直在使用物件,如陣列array    時間date

//我們把系統自帶的物件,叫做系統物件

var arr = new array();

arr.length;

arr.push();

二、物件導向程式設計(oop)的特點

抽象:抓住核心問題

封裝:只能通過物件來訪問方法

繼承:從已有物件上繼承出新的物件

多型:多物件的不同形態

三、高階物件導向的一些概念、名詞

1、包裝物件:js基於原型的程式,包括string、number、boolean

//這個基本型別的包裝物件型別是string

var str = "hello";

//基本型別會找到對應的包裝物件型別,然後包裝物件把所有的屬性和方法給了基本型別,然後包裝物件消失

str.charat(0); //h

2、原型鏈:

-例項物件與原型之間的連線,叫做原型鏈

-_proto_(隱式鏈結)

-object物件型別是原型鏈的最外層

function aaa()

aaa.prototype.num = 10;

object.prototype.num = 30;

var a1 = new aaa();

alert(a1.num); //20

/*物件是可以找到原型下的東西的,num是掛載到建構函式aaa()的原型上,而建構函式的原型本身就是個物件,

num其實就是aaa.prototype這個物件下面的屬性。 而a1之所以能找到num,是因為a1與aaa()之間有乙個鏈結,

這個鏈結就稱為原型鏈。 a1本身是沒有num的,所以a1先往自己身上找,沒找到然後才順著原型鏈一層一層的往上找

*/

//原型鏈的最外層:object:prototype

四、物件導向的一些屬性和方法(雖然用得比較少)

hasownproperty():看是不是物件自身下面的屬性

var arr = ;

arr.num = 10;

array.prototype.num2 = 20;

alert(arr.hasownproperty('num')) //true

alert(arr.hasownproperty('num2')) //false

constructor: 檢視物件的建構函式。----每個原型都會自動新增constructor屬性,for   in 的時候有些屬性是找不到的,要避免修改constructor屬性

function aaa(){}

//建立建構函式後,系統1自動建立的這個屬性

aaa.prototype.constructor = aaa;

//在給原型這樣新增變數時,記得修正construcor的指向,

aaa.prototype =

var a1 = new aaa();

alert(a1.constructor); //function aaa(){}

instanceof: 運算子。---物件與建構函式在原型鏈上是否有關係

function aaa(){}			

var a1 = new aaa();

alert(a1 instanceof aaa); //true

alert(a1 instanceof object); //true

alert(a1 instanceof array); //false

tostring(): object上的方法,把物件轉成字串

//變成字串

var arr = [1,2,3];

alert(arr.tostring()); //'1,2,3'

//數字進製轉換 這裡是16進製制

var num = 225;

alert(num.tostring(16)); //'e1'

//利用tostriing作型別的判斷 ,這是判斷型別最完美的方法var arr = null;

var arr2 = ;

alert(object.prototype.tostring.call(arr) == '[object array]') //false

alert(object.prototype.tostring.call(arr2) == '[object array]') //true

物件導向基本概念(一)

物件導向基本概念 一 物件導向,oo object oriented 物件導向包含很多重要的概念 首先是物件本身,還包括 類,例項,繼承,封裝,多型,訊息隱藏和訊息傳遞。1 物件的定義 對問題域中某些事物的抽象,反映了系統保持資訊,並且與資訊互動,或者二者皆有的能力。這裡的重要概念是抽象,從實際事務...

物件導向的概念和屬性

什麼是物件?看得見,摸得到,具體存在的某乙個東西 屬性 特徵 屬性值 描述這個特徵的乙個值 方法 物件的行為 什麼是類?模板,抽象的乙個概念 類是模子,確定物件將會擁有的特徵 屬性 和行為 方法 類是物件的型別 類的定義語法 訪問修飾符 class 類名 類的例項化 語法 類 例項名 new 類 類...

JS物件導向之物件的屬性

1.屬性的設定和獲取通過 操作符或者 區別 操作符取自身的屬性,可以是變數 var o o.name 緣滅 var aaa name console.log o aaa 緣滅ps 一道比較坑的筆試題 var str abc str 1 var test typeof str if test.leng...