js建構函式

2021-08-20 03:09:41 字數 1528 閱讀 7619

1 經典例項,涵蓋全域性變數,區域性變數,變數宣告提公升,物件,上下文,閉包等知識

var num = 4;

var obj =

this.num *= 2;  

num*=3;

alert(num);

}  })()

}; var fn = obj.fn;       // window.num=8  num=nan  num=4  fn=function(){}

alert(num);            //返回的是window.num=8;

fn();                  // this-->window  window.num=8*2=16  num=4*3=12   彈出num = 12

obj.fn();              //this--->obj  obj.num=12  num=12*3=36

alert(window.num);     //16

alert(obj.num);        //12 

2 new()

*呼叫函式的方式

1 圓括號直接呼叫 

2 定時器呼叫

3 事件處理函式

4 物件打點呼叫

5 陣列列舉呼叫

*new()例項:

function fn()

this.name = "張小龍";

this.age = 30;

this.*** = "男";

}var obj = new fn();  //new的作用,呼叫函式,返回乙個名為fn的物件

console.log(obj);    //fn

new()內部執行機制:

1 在真正執行函式體之前,函式內部先預設建立乙個區域性變數,是乙個fn{} 空物件

2 讓函式內部this指向該空物件 this ===fn {} 

3 執行函式體

4 函式體全部執行完畢,函式會返回該物件(返回函式上下文)

*建構函式

function student(name,***,age)

}//函式名首字母大寫,以區別普通函式

var xiaoli = new student("小麗","女",23);

var xiaohong = new student("小紅","女",18);

var xiaowei = new student("小偉","男",24);

*建構函式操作dom

//動態新增img便簽

*建構函式注意事項

建構函式有預設返回值,當在函式內新增return語句時

1 如果返回的是基本型別,如null,undefined,nan,number,string,boolean時,忽略return語句,返回物件

2 如果返回的是物件,如dom元素,,{},repexxp,function,math() 等,執行返回語句,不返回預設物件

JS建構函式

建立乙個物件可以字面量建立或建構函式建立 字面量建立物件例如 字面量建立物件 var p1 但如果需要建立多個同一型別 屬性和方法都相同 的物件,使用字面量不合適,可以使用建構函式建立 宣告建構函式的語法和普通函式相同,但是建構函式的函式名首字母大寫 function student name,st...

js建構函式

建構函式 使自己的物件多次複製,同時例項根據設定的訪問等級可以訪問其內部的屬性和方法 當物件被例項化後,建構函式會立即執行它所包含的任何 function myobject msg 特權方法 公有方法 能被外部公開訪問 這個方法每次例項化都要重新構造而prototype是原型共享,所有例項化後,都共...

js建構函式

建構函式 首字母要大寫 建構函式this指向創建立出的物件或例項 function chess name,color,x,y this position.x x this position.y y this move function x,y let a newchess 馬 紅 1 2 a.mov...