Javascript基礎語法學習介紹2_Object



物件(Object)

1.物件屬性成員值之修改/值的獲取
2.物件之宣告 / 值之陳列打印
3.添加Array和Function到Object物件中
4.this關鍵字的意義及用途



物件屬性成員值之修改/值的獲取
用對應關鍵字去mapping

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
//---------------物件----------------
var EmployeeObj = {
 name: 'Sam',
 lastName: 'Eric',
 age:28,
 job:'Engineer'
}


//物件中特定屬性之值修改
//寫法1. 物件名['屬性欄位']
EmployeeObj['name'] = 'Jimmy';
console.log(EmployeeObj['name']);
//寫法2.物件名.屬性欄位
EmployeeObj.age = 30;
console.log(EmployeeObj['age']);


PS: 物件是使用大括號來包覆,直到最後一個屬性欄位之前都需要用 ',' 隔開


物件之宣告 / 值之陳列打印


1
2
3
4
5
6
7
//動態宣告物件
var jackey = new Object();
jackey.name = 'Jackey';
jackey.lastName = 'Williams';
jackey.age = 22;

console.log(jackey);



添加Array和Function到Object物件中


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
//---------------物件----------------
var EmployeeObj = {
 name: 'Sam',
 lastName: 'Eric',
 age:28,
 job:'Engineer',
 family: ['Ken','Tom','Mary'],
 calculate: function yearOfBirth(myAge){
  return 2018-myAge;
 }
}
console.log(EmployeeObj);
console.log(EmployeeObj.family[1]);
console.log(EmployeeObj.calculate(23));



所以你會發現其實不管物件中指定的屬性欄位
元素格式或內容為何
基本結構很規律都是長這樣
很單純



this關鍵字的意義及用途

this.  ----> 主要可以讓我們取得當前物件
若我們想要在EmployeeObj物件中
去新增一個額外的屬性yearOfBirth要用來存放物件中calculate方法(出生西元年之轉換)
計算結果的話
方法1.一般原始作法
Step1.於外頭定義yearOfBirth使其值為物件EmployeeObj中的calculate方法返回結果
Step2.新屬性添加並命名為yearOfBirth 之後做值的指派


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
var EmployeeObj = {
 name: 'Sam',
 lastName: 'Eric',
 age:28,
 job:'Engineer',
 family: ['Ken','Tom','Mary'],
 calculate: function yearOfBirth(){
  return 2018-this.age;
 }
}

//於 Object添加一個新的元素屬性名為yearOfBirth

//方法1.原始寫法

//Step1.於外頭定義yearOfBirth使其值為
//物件EmployeeObj中的calculate方法返回結果
var yearOfBirth = EmployeeObj.calculate();
//Step2.新屬性添加並命名為yearOfBirth
//之後做值的指派
EmployeeObj.yearOfBirth = yearOfBirth;
console.log(EmployeeObj);

我們會修改 calculate方法中的myAge(區域變數)且改為無參數傳入型態
將其用this.去調出屬性欄位 age


方法2.直接於物件內先透過this去新增屬性並存好計算結果



 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
//於 Object添加一個新的元素屬性名為yearOfBirth
//方法2.於物件內先透過this去新增屬性並存好計算結果
var EmployeeObj = {
 name: 'Sam',
 lastName: 'Eric',
 age:28,
 job:'Engineer',
 family: ['Ken','Tom','Mary'],
 calculate: function yearOfBirth(){
  //Step1.直接於物件中用this.去添加並命名新屬性
  //同時做值的指派
  this.yearOfBirth = 2018 - this.age;
  //return 2018-this.age;
 }
}

//Step2.物件方法運行
EmployeeObj.calculate();
console.log(EmployeeObj);






留言

這個網誌中的熱門文章

經得起原始碼資安弱點掃描的程式設計習慣培養(五)_Missing HSTS Header

經得起原始碼資安弱點掃描的程式設計習慣培養(三)_7.Cross Site Scripting(XSS)_Stored XSS_Reflected XSS All Clients

(2021年度)駕訓學科筆試準備題庫歸納分析_法規是非題