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

相关推荐
geovindu7 小时前
java: Facade Pattern
java·开发语言·后端·外观模式·结构型模式
listening7777 小时前
HarmonyOS 6.1 元服务深度优化:从“秒开”到“常驻”的极致体验
java·开发语言·spring
前端甜糖7 小时前
记录We码开发者工具的一个bug
前端·javascript
布朗克1687 小时前
Go 入门到精通-29-测试与基准
开发语言·后端·golang·测试与基准
猫3287 小时前
echarts 日常问题解决
前端·javascript·echarts
格林威8 小时前
工业相机Chunk功能全解析:图像嵌入时间戳、编码器元数据(附堡盟C#代码)
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机
小大宇8 小时前
Python 集成 Conda
开发语言·python·conda
不简说8 小时前
JS 代码技巧 vol.8 — 20 个函数式编程实战,把 if/else 拍扁的骚操作
前端·javascript·面试
还是奇怪8 小时前
Simon Willison 用 DSPy 优化 Datasette Agent 提示词:提示工程正在变成可测试的软件工程
java·开发语言·软件工程
Cobyte9 小时前
模板 DSL 解析器中的状态机设计
前端·javascript·vue.js