对象

JavaScript 什么是对象免费看

什么是对象?对象的属性、对象的方法、创建对象、循环变量对象的属性等

2020-06-18侠课岛    基础入门       

前端/前端必修/JavaScript 基础知识梳理 12     0     1122

什么是对象?

JavaScript 中几乎所有的事物都是对象,例如字符串、数字、日期、数组、函数等都可以是一个对象。每个对象都拥有它的属性和方法。

对象的属性

属性是与对象相关的值,能够反映该对象某些特定的性质。

举个例子,例如可以字符串中就有一个属性 length,可以获取字符串的长度:

var msg = "你好,侠课岛";
console.log(msg.length);  // 输出:6

或者是数组中也有这个 length 属性,获取数组的长度:

var arr = [1, 4, 7, 9, 22, 34];
console.log(arr.length);   // 输出: 6
对象的方法

对的方法是能够在对象上执行的动作,例如字符串中有很多常用方法,之前我们也学过的,像是连接字符串呀,将字符串转为大小写呀,分割字符串呀。

例如使用 concat 方法连接两个字符串:

var msg1 = "你好";
var msg2 = "侠课岛";
console.log(msg1.concat(msg2));  // 输出:你好侠课岛

创建对象

在 JavaScript 中,我们还可以自己创建对象。

通过object方式创建对象

首先通过 Object 构造器 new 一个对象,然后再向对象中添加成员:

var obj = new Object(); 
示例:

我们创建一个名为 person 的对象,在这个对象中添加属性 nameaddress 和方法 show

var person = new Object();
person.name = "侠课岛";
person.address = "长沙";
person.show = function(){
    console.log("对象的方法");
}
通过字面量创建对象

字面量其实之前我们讲到过,表示如何表达这个值,一般除去表达式,给变量赋值时,等号右边都可以认为是字面量。

我们可以将成员的信息写到 {} 中,赋值给一个变量,此时这个变量就是一个对象。

示例:
var person = {
    name: "侠课岛",
    address:"长沙",
    show:function(){
        console.log("对象的方法");
    }
}

console.log(person.name);    // 输出:侠课岛
console.log(person.address); // 输出:长沙

使用这种方式创建对象,要注意给属性赋值时,使用的是冒号: 而不是等号,属性之间用逗号分隔,而不是用分号。

使用构造函数创建对象

构造函数和普通函数差不多,但是在定义构造函数名我们一般会将函数名首字母大写。我们在创建对象时,会自动执行构造函数。

示例:

例如我们定义一个构造函数Person,然后实例化Person ,构造函数会自动执行,不需要调用:

function Person(){
    this.name = "侠课岛";
    this.address = "长沙";
    this.show = function(){
        console.log("对象方法");
    }
    console.log("创建对象时构造函数会自动执行");
}
// 创建对象
var p = new Person();  // 输出:创建对象时构造函数会自动执行

循环变量对象的属性

我们可以使用 for...in 来循环变量对象的属性。

示例:

例如我们遍历对象person中的属性,如下所示:

var person = new Object();
person.id = 1;
person.name = "侠课岛";
person.age = 18;
person.address = "长沙";

for (item in person){
    console.log(item + "=" + person[item]);
}

输出:

id=1
name=侠课岛
age=18
address=长沙

向已有对象添加属性和方法

我们可以向已经存在的对象,添加新的属性和方法。

示例:

例如 person 对象已经存在,我们为这个对象添加一个属性 age,和一个方法hobby()

var person = new Object();
    person.name = "侠课岛";
    person.address = "长沙";
    person.show = function(){
        console.log("对象的方法");
}

person.age = 18;
person.hobby = function(){
    console.log("我喜欢学习");
}
person.hobby();  // 输出:我喜欢学习

JavaScript不使用类

JavaScript虽然是面向对象的语言,但是JavaScript 中不使用类,也不会创建类。JavaScript 是基于 prototype,而不是基于类的。

本教程图文或视频等内容版权归侠课岛所有,任何机构、媒体、网站或个人未经本网协议授权不得转载、转贴或以其他方式复制发布或发表。

评价

12

本课评分:
  •     非常好
难易程度:
  •     适中的

内容目录


本文索引


|
教程
粉丝
主页

签到有礼

已签到2天,连续签到7天即可领取7天全站VIP

  • 1
    +2 金币
  • 2
    +3 金币
  • 3
    +5 金币
  • 6
    +7 金币
  • 5
    +6 金币
  • 4
    暖心福利
    自选分类VIP ×1天
  • 7
    惊喜大礼

    自选分类VIP ×3天 +20金币
  • 持续签到 +8 金币

金币可以用来做什么?