JavaScript中对象字面量

本文详细介绍了JavaScript中对象字面量的使用方法,包括创建、属性检索、更新、删除及原型继承等内容,并提供了实例演示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对象字面量(包围在花括号中的零个或多个名值对);
要求:
属性名用引号括住;
属性值可以为任意变量;
属性名如果是一个合法字符串,则不要求用括号括住属性名;
'use strict'
var peoson = {
name : 'xiaoming',
age : 18,
'first-name':'zhao',//属性名中含有特殊字符
other : {} //属性值为一个空对象字面量
}

检索:
对象[‘属性名’]
对于属性名中不含特殊字符的属性,优先采用 对象.属性名 的方式
检索不存在的属性返回undefined
从undefined属性中检索会返回错误

console.log(peoson.name);//xiaoming
console.log(peoson['first-name']);//zhao
console.log(peoson.shool);//undefine
console.log(peoson.shool||'unkown');//unkown
更新:对象中的值通过赋值来更新
引用:对象通过引用传递
原型:对象字面量的原型为Object.prototype
反射:检查对象并确定对象有什么属性
var peoson2 = Object.create(peoson)
peoson2.school = 'high school';
var name;
console.log('****************peoson1*****************')
for(name in peoson){
    console.log(name + ' : ' + typeof peoson[name])
}
console.log('****************peoson2*****************')
for(name in peoson2){
    console.log(name + ' : ' + typeof peoson2[name])
}
console.log('****************peoson2自己的属性*****************')
for(name in peoson2){
    if(peoson2.hasOwnProperty(name)){
        console.log(name + ' : ' + typeof peoson2[name])
    }
}
执行结果
****************peoson1*****************
name : string
age : number
first-name : string
other : object
****************peoson2*****************
school : string
name : string
age : number
first-name : string
other : object
****************peoson2自己的属性*****************
school : string

删除属性:

peoson2.age = 21;
console.log('peoson2 的 年龄 :'+ peoson2.age);
delete peoson2.age;//使原型中年龄暴露出来
console.log('peoson2 的 年龄 :'+ peoson2.age);
执行结果:
peoson2 的 年龄 :21
peoson2 的 年龄 :18

减少全局变量的污染:多个文件中名字冲突造成的污染
解决方案:将全局性的资源纳入一个名称空间下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值