JS引用類型 --- Object
阿新 • • 發佈:2017-12-27
creat 創建對象 spa 無序 computer fun object 這一 als 1.
2.
3.
方式1:
方式2:
四、對象循環遍歷
五、對象深拷貝
一、對象的基礎知識
概念:特指的某一個事物,有特征(屬性)和行為(方法),可存儲數據。
通俗理解:對象是一組無序鍵值對的集合,可存儲數據。
對象的屬性和方法:可以通過
.
的方式添加(這一點也證明了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