JavaScript复习之对象

什么是对象

万物皆对象

  • 现实生活中:万物皆对象,对象是一个具体的事物,一个具体的事物就会有行为和特征。
  • 举例: 一部车,一个手机
  • 车是一类事物,门口停的那辆车才是对象
  • 特征:红色、四个轮子
  • 行为:驾驶、刹车

JavaScript中的对象

  • JavaScript中的对象其实就是生活中对象的一个抽象
  • JavaScript的对象是无序属性的集合。
  • 其属性可以包含基本值、对象、数组或函数。
  • 对象就是一组没有顺序的值。
  • 我们可以把JavaScript中的对象想象成键值对,其中值可以是数据和函数。
  • 对象的行为和特征
  • 特征—属性
  • 行为—方法

事物的特征在对象中用属性来表示,事物的行为在对象中用方法来表示。

如何得到一个对象

  • 字面量方式创建对象
var obj1 = {};//得到一个空对象
var obj2 = {name:'西岭',age:18};//得到拥有两个属性的对象
  //得到拥有两个属性和一个方法的对象
var obj3 = {
     name:'西岭',
     age:18,
     fei:function(){
         console.log('你上天啊!');
     }
}
  • new Object() 创建对象 (内置构造函数)
  var person = new Object();

  person.name = 'lisi';
  person.age = 35;
  person.sayHi = function(){
        console.log('Hello,everyBody');
  }
  • 自定义构造函数创建对象
  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');

this 的指向

目前,我们只需要记住以下两点:

1:函数如果在某个对象下,this 就指向这个对象

2:函数如果被直接调用,this 指向 window 对象

var o1 = {
    name: '山治',
    f: function () {
        console.log(this.name);
    }
}
o1.f(); // 山治
function f(){
    console.log(this);
}
f();
console.log(window);

对象的使用

  • 方法及属性的使用
对象.方法名(); //调用对象的方法
对象.属性;   //获取对象的属性
  • 遍历对象的属性

通过for..in语法可以遍历一个对象

var obj1 = {
    name:'路飞',
    age : 17,
    sex : '男',
}

for(var k in obj1){
    console.log(k);
    console.log(obj1[k]);
}

注意:使用 for … in 语法,同样可以遍历数组

  • 删除对象的属性
var obj1 = {
    name:'路飞',
    age : 17,
    sex : '男',
}
console.log(obj1.age); //17
delete obj1.age;  //删除对象中指定的属性
console.log(obj1.age); // undefined

猜你喜欢

转载自blog.csdn.net/github_27314097/article/details/81264495