一、什麼是物件導向程式設計
1、用物件的思想去寫**,就是物件導向程式設計
2、我們一直在使用物件,如陣列array 時間date
//我們把系統自帶的物件,叫做系統物件var arr = new array();
arr.length;
arr.push();
二、物件導向程式設計(oop)的特點
抽象:抓住核心問題
封裝:只能通過物件來訪問方法
繼承:從已有物件上繼承出新的物件
多型:多物件的不同形態
三、高階物件導向的一些概念、名詞
1、包裝物件:js基於原型的程式,包括string、number、boolean
//這個基本型別的包裝物件型別是stringvar 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...