2017年9月4日 星期一

[JavaScript] new, this

  • JavaScript 建立物件( function constructor )方法有兩種
    • 使用 new 運算式
    • 使用 Object Literal Notation 語法
  • new 運算式
    • CASE 0:透過 new 建立一個空的物件
function UserInfo0() {
    console.log(this);
}

var user0 = new UserInfo0();
console.log(user0);
    • CASE 1:在物建中加入屬性
function UserInfo1() {
    this.Name = 'Lyndon';
    this.Age = 30;
    console.log(this);
}

var user1 = new UserInfo1();
console.log(user1);
    • CASE 2:但如果所回傳為  Object Literal Notation 語法的物件,原本被建立的物件不會被回傳,回傳將是 Object Literal Notation 語法的物件
function UserInfo2() {
    this.Name = 'Lyndon';
    this.Age = 30;
    console.log(this);
    return { 'Lyndon': 30 };
}

var user2 = new UserInfo2();
console.log(user2);
    • CASE 3:未加上關鍵字 new,將會是  underfined
  • Object Literal Notation 語法
    • { 開始,接著屬性名稱
    • :後面接著屬性質
    • 兩屬性之間用,做為區隔
    • CASE 1 
var userinfo = {
    Name : 'Lyndon',
    Age : 30
}

console.log(userinfo);

沒有留言:

張貼留言