1. 程式人生 > >JS引用類型 --- Object

JS引用類型 --- Object

creat 創建對象 spa 無序 computer fun object 這一 als

一、對象的基礎知識

  • 概念:特指的某一個事物,有特征(屬性)和行為(方法),可存儲數據。

  • 通俗理解:對象是一組無序鍵值對的集合,可存儲數據。

  • 對象的屬性和方法:可以通過 . 的方式添加(這一點也證明了JS是一門動態類型的語言)

  • JS中大多數引用類型的值,都是Object類型的實例

二、對象創建的 3種方式

1. {} 字面量創建對象

<script>
    var obj2 = {};
    obj2.name = ‘zhangxin‘;

    console.log(obj2);
</script>

2. new 構造函數創建對象

  • 構造函數:第一個字母大寫(約定);普通函數:第一個字母小寫
<script>
    var obj1 = new Object();
    obj1.name = ‘zhangxin‘;

    console.log(obj1);
</script>
  • new 構造函數,new 做了4件事:
    • 創建一個新對象

    • this指向當前創建的新對象

    • 給新對象添加 屬性、方法

    • 返回 創建後的新對象

<script>
    function Computer(name, age) {
        this.name = name;
        this.age = age;

        this.say
= function () { return ‘我是‘ + this.name + ‘;今年‘ + this.age; } } var cp = new Computer(‘電腦‘, 20); console.log(cp.say()); // 我是電腦;今年20 </script>
  • new 構造函數 創建數組對象
<script>
    var arr = new Array();

    console.log(arr);  // [] 
</script>

3. Object.create({鍵值對})
方法創建新對象; ES5方法,IE8及以下不兼容

<script>
    var o1 = {name: ‘zhangxin‘};
    var create = Object.create(o1);

    console.log(create.name);  // ‘zhangxin‘
</script>

三、對象的的屬性 、方法( 賦值、取值 )

方式1: . 的方式添加 / 讀取:屬性 、方法

方式2: [] 的方式添加 / 讀取:屬性 、方法(重要)

  • 重要:可添加動態的屬性名、動態的方法名

  • 使用 [] 添加屬性、方法:若屬性名是固定的,需加引號;否則被視為 動態的變量

<script>
    var obj = {};
    
    obj.age = 20;
    obj[‘name‘] = ‘zhangxin‘;
    
    console.log(obj.age);       // 20
    console.log(obj[‘name‘]);   // ‘zhangxin‘
</script>

四、對象循環遍歷 for-in

<script>
    var obj = {age: 18, name: ‘ss‘};
    
    for (var key in obj) {
        consloe.log(key);
        console.log(obj[key]);
    }
</script>

五、對象深拷貝 Object.create( )

<script>
    var o1 = {name: ‘zhangxin‘};
    var o2 = Object.create(o1);

    console.log(o2 === o1);  // false
</script>

JS引用類型 --- Object