文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

javascript的对象是什么意思

2024-04-02 19:55

关注

这篇文章主要讲解了“javascript的对象是什么意思”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript的对象是什么意思”吧!

在JS中或者说在面向对象的编程语言中,对象是一系列属性和方法的组合。一个属性包含属性名和属性值,这个值可以是任意类型的数据,也可以是个函数,这种情况下函数也被称为方法。

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

1.1 什么是对象?

对象是事物,在现实世界中,一个球,一张桌子,一辆汽车都是对象。

对象就是具有可描述特征的事物,我们可以用某种特定的方式去影响和操作它。

在JS中或者说在面向对象的编程语言中,对象是一系列属性和方法的组合。

一个属性包含属性名和属性值,这个值可以是任意类型的数据,也可以是个函数,这种情况下函数也被称为方法。

而在JS中,你遇到的所有东西几乎都是对象,那么我们来了解一下对象的细节。

1.2 对象的特征?

对象有属性,也就是对象的特征,可以通过点符号来访问一个对象的属性。

objectName.propertyName;

如果把对象比作现实中的一个球,那这个球就是一个对象,拥有属性,有颜色有大小。这些可以这样表示:

var ball = new Object();
ball.color = “red";
ball.size = 12;

对象还有方法,方法用于定义对象的行为方式。

比如这个球可能有滚动的方法可以计算能滚多远,有弹跳的方法可以计算跳多高。

可以这样表示:

ball.roll = function() {
return this.size * laps
}

1.3 访问对象的属性

前面讲过我们可以通过点符号来访问对象的属性,但如果是这样的情况,还能通过点符号访问对象的属性吗:

var ball = new Object();
ball.color = “red";
ball.size = 12;
var spec = “color”;
ball.spec ??

这里假设有一个变量spec,我们需要通过这个变量spec来访问对象属性。

但如果用点符号将会访问ball的spec属性然后返回一个undefined,说明这里直接将spec当做了一个属性而不是变量。

如果我们想要获得变量的值,来作为对象的属性那应该怎么做呢?

可以使用方括号标记访问,这个标记法在属性名称那里是动态判定的,这样就可以通过存储在变量中的字符串来访问属性了:

ball[spec]; // red

1.4 枚举对象的属性

另外我们可以通过for in循环语句来枚举对象的所有属性:

var ball = {color: “red”, size: 12, border: 2};
for (var prop in ball) {
console.log(“ball.” + prop + “=“ + obj[prop]);
}
// ball.color = red
// ball.size = 12
// ball.border = 2
// 如果希望继承的属性不显示,那么可以用hasOwnProperty函数来过滤一遍
var bar = {a: 1, b: 2, c: 3};
function Foo() {
this.color = 'red';
}
Foo.prototype = bar;
var obj = new Foo();
for (var prop in obj) {
if (obj.hasOwnProperty(prop)) {
console.log(prop);
}
}

也可以通过Object.keys(obj)的方法来返回一个属性名集合的数组:

var obj = {a: “123”, b: “das”, c: “web”};
console.log(Object.keys(obj)); // [“a”,”b”,”c”];
var arr = [“a”, “b”, “c”];
console.log(Object.keys(arr)); // [“0”,”1”,”2”];

感谢各位的阅读,以上就是“javascript的对象是什么意思”的内容了,经过本文的学习后,相信大家对javascript的对象是什么意思这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-前端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯