JavaScript 对象

x33g5p2x  于2022-02-07 转载在 JavaScript  
字(1.4k)|赞(0)|评价(0)|浏览(435)

概念

对象是指一个具体的事物
在 JS 中,我们前边学到的字符串,数值,数组,函数都是对象,每个对象中包含若干的属性和方法
JavaScript 的对象 和 Java 的对象概念上基本一致,只是具体的语法表项形式差别较大

对象的创建

1.使用字面量创建对象

使用 { } 创建对象
var a = { }; —— 创建了一个空的对象

在 { } 中定义对象的一些属性,多个属性之间使用 间隔;一个属性就是 属性名 : 属性值

var person = {
    name: '花花',
    height: 162,
    weight: 84,
    sayHello: function() {
        console.log("hello");
    }
};

总结:

  • 使用 { } 创建对象,{ } 中可以定义对象的一些属性
  • 属性和方法使用键值对的形式来组织
  • 键值对之间使用 逗号 分割,最后一个属性后面的,可有可无
  • 键和值之间使用 : 分割
  • 方法的值是一个匿名函数

使用对象的属性和方法:

// 1. 使用 . 成员访问运算符来访问属性 `.`
console.log(person.name);
// 2. 使用 [ ] 访问属性, 此时属性需要加上引号
console.log(person['height']);
// 3. 调用方法, 别忘记加上 ()
person.sayHello();
  • 使用 . 成员访问运算符来访问属性 .
  • 使用 [ ] 访问属性,此时属性需要加上引号
  • 调用方法,需要加 ( )

已有的属性赋值就是修改属性
person.weight = 96;
.
没有的属性赋值就是添加属性
person.age = 3;
.

2.使用 new Object 创建对象

var person = new Object();
person.name = '花花';
person.age = 3;
person['height'] = 162;
person.sayHello = function(){
    console.log("hello~");
}

console.log(person.name);
console.log(person.age);
person.sayHello();

3.使用构造函数创建对象

前两种创建对象方式一次只能创建一个对象,而使用构造函数一次可以很方便的创建多个对象

基本语法
function 构造函数名(形参) {
this.属性 = 值;
this.方法 = function…
}
var obj = new 构造函数名(实参);

举例:

function Dog(name,sex,sound){
    this.name = name;
    this.sex = sex;
    this.sound = function(){
        console.log(sound);
    }
}
var dog1 = new Dog('旺财','公','汪汪');
var dog2 = new Dog('大白','母','汪~~');
var dog3 = new Dog('小黑','公','汪汪汪');

console.log(dog1);
dog1.sound();

注意:

  • 在构造函数内部使用 this 关键字来表示当前正在构建的对象
  • 构造函数的函数名首字母一般是大写的
  • 构造函数的函数名可以是名词
  • 构造函数不需要 return
  • 创建对象的时候必须使用 new 关键字

理解 new 关键字

new 的执行过程:

  1. 先在内存中创建一个空的对象 { }
  2. this 指向刚才的空对象 (将上一步的对象作为 this 的上下文)
  3. 执行构造函数的代码,给对象创建属性和方法
  4. 返回这个对象 (构造函数本身不需要 return, 由 new 代劳了)

相关文章