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

相关推荐
Mr Xu_1 分钟前
解决 Vue + Axios 热更新导致响应拦截器重复注册的问题
前端·javascript·vue.js
Coder_preston7 分钟前
JavaScript学习指南
开发语言·javascript·ecmascript
阿猿收手吧!12 分钟前
【C++】无锁原子栈:CAS实现线程安全
开发语言·c++·安全
Jinuss13 分钟前
源码分析之React中Scheduler调度器的最小二叉堆
javascript·算法·react.js
写代码的【黑咖啡】15 分钟前
Python 中的自然语言处理工具:spaCy
开发语言·python·自然语言处理
沐知全栈开发16 分钟前
WSDL 语法详解
开发语言
a11177616 分钟前
电流卡片特效(html网页 开源)
javascript·css·css3
狗都不学爬虫_18 分钟前
JS逆向 -最新版 盼之(decode__1174、ssxmod_itna、ssxmod_itna2)纯算
javascript·爬虫·python·网络爬虫·wasm
天天进步201518 分钟前
透明的可观测性:剖析 Motia Workbench 与插件系统架构
javascript
夏河始溢20 分钟前
一八四、Zustand 状态管理详解、与 Redux、MobX 的对比分析
前端·javascript·react.js·状态管理·zustand