最新消息: 关于Git&GitHub 版本控制你了解多少?
您现在的位置是:群英 > 开发技术 > web开发 >
JavaScript对象怎样理解?一文带你看懂对象
PHP中文网发表于 2021-09-11 17:58 次浏览

    这篇文章主要给大家分享的JavaScript对象的内容,对新手来说可能不太理解什么是对象、对象的特征等等,因此下面就给大家介绍一下,对新手学习JavaScript有一定的帮助,有需要的朋友可以了解看看。

    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对象有一定的帮助,有需要的朋友可以参考,希望对大家学习JavaScript有帮助,想要了解更多请关注群英网络其它相关文章。

标签:javascript对象
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
相关信息推荐