一、对象
自我包含的数据集合,包含在对象里的数据可以通过两种形式—属性(property)和方法(method)访问,属性和方法都要用点语法访问
Object.property
Object.method()
1-1 声明一个对象
对象字面量
var peng={ name:"peng"; age:"18"; sex:"男" }
new Object()创建对象 ```javascript var person = new Object(); person.name = ‘lisi’; person.age = 35; person.job = ‘actor’; person.sayHi = function(){ console.log(‘Hello,everyBody’); }
//缺点:每创建一个对象都要写一堆代码,太麻烦
- 自定义构造函数
```javascript
//构造函数首字母大写
function Person(name,age,job){
this.name = name;
this.age = age;
this.job = job;
this.sayHi = function(){
console.log('Hello,everyBody');
}
}
var p1 = new Person('张三', 22, 'actor');
//好处:既封装了内部实现,又能通过instanceof来判断所创建出来对象的具体类型
1-2 给对象添加属性
peng.love="打游戏"
console.log(peng)
1-3 读取属性的key值 object.keys(obj)
1-4 读取属性的value值 object.values(obj)
console.log(Object.keys(xxx))
console.log(Object.values(xxx))
1-5 对象遍历 for in
for(var key in person){
console.log(person[key])
}
var obj = {};
for (var i = 0; i < 10; i++) {
obj[i] = i * 2;
}
for(var key in obj) {
//因为此时遍历到的key是一个字符串,需要通过obj[key]的方式才能访问内容
console.log(key + "==" + obj[key]);
}
1-6 删除对象属性 delete obj.xxx
function fun() {
this.name = 'mm';
}
var obj = new fun();
console.log(obj.name); // mm
delete obj.name;
console.log(obj.name); // undefined
1-7 new关键字
构造函数 ,是一种特殊的函数。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。
- 构造函数用于创建一类对象,首字母要大写。
- 构造函数要和new一起使用才有意义。
new在执行时会做四件事情
new 会在内存中创建一个新的空对象
new 会让this指向这个新的对象
执行构造函数 目的:给这个新对象加属性和方法
new会返回这个新对象
二、内建对象
定义:提供一些预想定义好的对象,我们可以直接把这些对象用在自己的脚本里面,比如使用new关键字去初始化一个数组的时候,就是在创建一个Array对象的新实例
var beatles=new Array()
三、宿主对象
定义:有Web浏览器提供的预定义对象被称为宿主对象,包括:Image,Form,Element