新人分享些學習過程中的心得體會,有錯誤或疏漏之處還請各位不吝拍磚。 一.為什麼要面向對象? 1.在寫代碼中經常會碰到如下情況: 一個函數內的變數需要被其內嵌函數引用,若直接層層嵌套堆在一塊則不便於後期維護,這是就需要提取分離。 a.可以考慮把上一個函數的返回值作為參數傳入下一個函數。 b.更好的方法 ...
新人分享些學習過程中的心得體會,有錯誤或疏漏之處還請各位不吝拍磚。
一.為什麼要面向對象?
1.在寫代碼中經常會碰到如下情況:
一個函數內的變數需要被其內嵌函數引用,若直接層層嵌套堆在一塊則不便於後期維護,這是就需要提取分離。
a.可以考慮把上一個函數的返回值作為參數傳入下一個函數。
b.更好的方法是用面向對象的方式創建方便共用的變數,用this。
function fn1(){
變數1,變數2,變數3
函數或者可以提取成函數的一段代碼要用到上面變數...
函數或者可以提取成函數的一段代碼要用到上面變數...
}
2.可以創建很多實例,互不影響,每個實例還可創建自己專屬的屬性與方法。
var a = new Classname(); 創建了一個實例
二.如何書寫
1.創建構造函數
構造函數名,首字母用大寫(業內規範)。
通過this.屬性名 = xxx 的方式添加屬性或方法(函數)。
function Classname(){
this.varname1 = xxx;
thia.varname2 = xxx;
}
2.通過原型prototype添加修改屬性或方法(函數)
一般只用原型添加方法,原型添加的東西適用於所有實例。
Classname.prototype.方法名 = function(){}
後續舉一個面向過程轉換為面向對象的例子