文章目錄
  1. 1. Object
    1. 1.1. √ 定義
    2. 1.2. ✘ 定義
    3. 1.3. 存取Object成員(Access object’s property)
  2. 2. 檢查type
    1. 2.1. 檢查Array
    2. 2.2. 檢查一個variable 有沒有value
    3. 2.3. 另外方法檢查undefined
  3. 3. 檢查Empty object
  4. 4. Array
    1. 4.1. 存取每個element
  5. 5. Reference

Object

javascript的object是key-value pair
因此key有時會被叫作property, member, etc…
value 可以是integer, true, false, function, etc

√ 定義

1
2
3
4
5
6
var object = {} // empty object
var object = { name : my_nickname } // my_nickanme is the defined variable
var object = { 'name' : "jason" , 'job' : "sutdent" } // hv ''
var object = { name : "jason", job : "student" } // no ''
var object = { 名字 : "jason" } // console.log(object.名字) -> jason
var object = { nick_name : "jason" } // console.log(object.nick_name) -> jason

✘ 定義

1
2
var object = { my name : "jason" } // key 如有空格要''
var object = { nick-name : "jason" } // key 如有-要''

存取Object成員(Access object’s property)

利用.作分隔,注意提取未定義的property 會回傳undefined value

1
2
3
var object = { name : "jason" };
object.name // jason
object.age // undefined

因此可以利用undefined value 檢查某object 成員有沒有被定義

1
2
object.name === undefined // false
object.age === undefined // true

也可以利用[] (Object literal), 適用於有-的key

1
2
3
4
var object = { "my-name": "jason", "image-list" : "image.png" };
object.image-list; // reference error: list
object.my-name; // NaN
object["my-name"]; // jason

Object 可以隋意新加成員

1
2
3
var object = { name : "jason" };
object.nickname = "tresa";
object.nickname; // "tresa"

檢查type

Javascript 使用String定義type

1
2
var object = { name : "jason" };
typeof object; // "object"

檢查Array

不過Array的type也是’object’, 但可以利用Array.isArray()檢查 (ECMAScript >= 5)

1
2
3
var array = ["jason", "object"]
typeof array; // "object"
Array.isArray(array) // true

檢查一個variable 有沒有value

可以利用typeof 去避免ReferenceError: Can’t find variable: list
注意: 所有variable 即使定義了,沒有acess前value都是undefined

1
2
3
var x;
typeof x; // "undefined"
typeof list // "undefined" (list is not "defined yet")

另外方法檢查undefined

From Mozilla

The global undefined property represents the primitive value undefined. It is one of JavaScript’s primitive types.

由於undefined的type是’undefined’,因於檢查某成員有沒有被定義也可以用typeof

1
2
var object = { name : "jason" };
typeof object.age === 'undefined' // true

檢查Empty object

利用for ... in ... 檢定有沒有property name, 有則return true

1
2
3
4
5
6
7
8
9
10
11
12
13
14
var emptyObject = {};
var student = { name : "jason", job : "student" };

function isEmptyObject(testObject){
var property;
for (property in testObject){
return true;
}

return false;
}

isEmptyObject(emptyObject); // false
isEmptyObject(student); // true

Array

存取每個element

傳統方法, 利用length

1
2
3
for (var i = 0 ; i < array.length; i++ ){
console.log(array[i]);
}

利用 forEach (ECMAScript >= 5)
接受 callback(element, index, processingArray)

1
2
3
array.forEach(function(element, index, processingArray){
console.log(element);
});

利用for ...of... (ECMAScript >= 6)

1
2
3
for (var e of array){
console.log(e);
}

Reference

文章評論

文章目錄
  1. 1. Object
    1. 1.1. √ 定義
    2. 1.2. ✘ 定義
    3. 1.3. 存取Object成員(Access object’s property)
  2. 2. 檢查type
    1. 2.1. 檢查Array
    2. 2.2. 檢查一個variable 有沒有value
    3. 2.3. 另外方法檢查undefined
  3. 3. 檢查Empty object
  4. 4. Array
    1. 4.1. 存取每個element
  5. 5. Reference