成員函數:也叫方法
1.常用方法
比如:我們希望對象不但有屬性,還希望他有行為。(行為在程式中要靠函數來展現)
(1)
添加speak函數,輸出我是一個好人
(2) 添加jisuan函數,可以計算從1+..+1000的結果
(3)
修改jisuan函數,該方法可以接收一個數n,計算從1+..+n的結果
(4) 添加add成員函數,可以計算兩個數的和
2.給對象添加方法還有其它三種方式:
2.1 方式一
function
類名()
{
this.屬性;
}
var 對象名 = new 類名();
function 函數名(){
//執行
對象名.屬性名 = 函數名;//這樣就相當于把函數賦給 對象名.屬性名,此時這個屬性 對象
名.屬性名就表示一個函數。
對象名.屬性名();
具體案例:

p1.abc和show1 輸出的都是上圖show1的構造函數
2.2 方式二
對象名.屬性名 = function(參數清單){
//代碼
};
調用
對象名.屬性名(實際參數);
具體案例:
2.3 方式三:
前面的幾種方法有一個問題,那就每個對象獨占函數代碼,這樣如果對象很多,則會影響效率
,js的設計者,給我們提供另一個方法 原型法:這樣多個對象可以共享函數代碼:
對代碼的原理說明
=号的作用
(1) 當 == 的兩邊都是字元串,則比較内容是否相等
(2) 當 ==
的兩邊都是數字,則比較數的大小是否相等
(3) 當 == 是對象 或者是 對象函數,則比較位址是否相等
2.4 案例分析
分析能輸出什麼?
案例一:
案例二:
每次new一個類的執行個體後,都會建立兩個公共屬性name,age和一個公共方法abc(),而不是共享
解決方案:
3、object 類
3.1 建立person執行個體
3.2 加深對類和對象的認識
如何給類添加方法(如何給某類型的所有對象添加方法)
3.3 成員函數-細節
3.3.1 成員函數的參數可以是多個
比如:function 函數名(參數1...){}
3.3.2
成員函數可以有傳回值,也可以沒有,但是有的話,最大隻能有一個
3.3.3
js中不支援函數的重載,具體案例如下: