JavaScript对象

JavaScript的对象是一种无序的集合数据类型,它由若干键值对组成。对象的所有属性都是字符串,不过属性对应的值可以是任意数据类型。用于描述现实世界中的某个对象。

JavaScript用一个{...}表示一个对象,键值对以xxx: xxx形式申明,用,隔开。注意,最后一个键值对不需要在末尾加,,如果加了,有的浏览器(如低版本的IE)将报错。

访问属性是通过.操作符完成的,但这要求属性名必须是一个有效的变量名。如果属性名包含特殊字符,就必须用''括起来,访问这个属性也无法使用.操作符,必须用['xxx']来访问。

访问不存在的属性不报错,而是返回undefined。

由于JavaScript的对象是动态类型,可以自由地给一个对象添加或删除属性。如果要检测是否拥有某一属性,可以用in操作符,如果in判断一个属性存在,这个属性不一定是对象的,它可能是继承得到的

'toString' in xiaoming; // true

因为toString定义在object对象中,而所有对象最终都会在原型链上指向object,所以xiaoming也拥有toString属性。

要判断一个属性是否是xiaoming自身拥有的,而不是继承得到的,可以用hasOwnProperty()方法:

var xiaoming = {

name: '小明'

};

xiaoming.hasOwnProperty('name'); // true

xiaoming.hasOwnProperty('toString'); // false

相关推荐
froginwe1110 分钟前
装饰器模式
开发语言
枫叶丹416 分钟前
【Qt开发】Qt界面优化(三)-> Qt样式表(QSS) 设置方式
c语言·开发语言·c++·qt·系统架构
-小麦子-20 分钟前
Python 变量组包、解包及星号扩展机制详解
开发语言·python
哟哟-24 分钟前
Nginx配置:静态文件访问时动态添加时间戳
运维·前端·javascript·nginx
tod11341 分钟前
Redis - 客户端基本介绍
开发语言·数据库·redis·缓存
赵谨言1 小时前
运用Python编程计算减压孔板孔口直径的研究
大数据·开发语言·经验分享·python
njsgcs1 小时前
用python打开exe 不闪退 0x01000000 # CREATE_BREAKAWAY_FROM_JOB
开发语言·python
wuhen_n1 小时前
JavaScript 深拷贝的完全解决方案
前端·javascript
橙露1 小时前
全栈开发入门:Python Flask+Vue3 搭建前后端分离的博客系统
开发语言·python·flask
2301_796512521 小时前
【精通篇】打造React Native鸿蒙跨平台开发高级复合组件库开发系列:Grid 宫格(展示内容或进行页面导航)
javascript·react native·react.js·ecmascript·harmonyos