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

相关推荐
kite012115 分钟前
Go语言Map深度解析与最佳实践
开发语言·后端·golang
l156469482 小时前
突围!图文混合知识库难以解析,Kimi-K3 原生视觉架构深耕知识工作,DMXAPI 统一接口,缩短项目开发周期
java·大数据·开发语言
charlie1145141912 小时前
现代C++工程实践 WeakPtr 实战(三):WeakPtrFactory 与「最后成员」惯用法
开发语言·c++·开源项目·现代c++
海上彼尚3 小时前
Nodejs也能写Agent - 22.LangGraph篇 - 上下文工程
前端·javascript·人工智能·langchain·node.js
IT小盘4 小时前
04-大模型流式输出原理-SSE与Python实现
开发语言·网络·人工智能·python
不如语冰4 小时前
AI大模型入门-Python进阶-上下文管理与with语句
开发语言·数据结构·数据库·人工智能·pytorch·redis·python
默_笙4 小时前
🎉 AI 项目里为什么需要 BFF?因为我实在不想在前端处理二进制流
前端·javascript
阿童木写作5 小时前
Python批量翻译亚马逊商品图实战教程
开发语言·python·xcode
会飞的大鱼人6 小时前
一文搞懂 Java HashSet:把它想成游乐园里只允许一次入场的盖章名单
java·开发语言·windows
xyphf_和派孔明6 小时前
企业级微前端项目完整创建步骤,第三步:配置 Vue 子应用
前端·javascript