JavaScript 对象

Posted 一朵花花

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript 对象相关的知识,希望对你有一定的参考价值。

对象

概念

对象是指一个具体的事物
在 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 代劳了)

以上是关于JavaScript 对象的主要内容,如果未能解决你的问题,请参考以下文章

javascript如何去除对象的某个属性

JavaScript 面向对象的程序设计之理解对象属性

Javascript对象属性与方法汇总

JavaScript的面向对象

浅析JavaScript访问对象属性和方法及区别

javascript:属性描述对象