JavaScriptd Object需要注意的二三事

取值

  • 用object.prop方式取值
var company = {
    name: 'google',
    age: '28',
    money: 'I do not known'
}
company.name            //'google'


  • 用object['propname']
当属性名不是一个有效的变量名时,只能使用这种方法获取
var company = {
    name: 'google',
    age: '28',
    money: 'I do not known',
    'my-job': 'coding'
}
company['my-job']       // 'coding'


注意:定义一个Object时,属性名尽量为有效的变量名,这样便于取值

可以自由的添加删除对象的属性

var jake = {
    name: '小明'
};
jake.age; // undefined
jake.age = 18; // 新增一个age属性
jake.age; // 18
delete jake.age; // 删除age属性
jake.age; // undefined
delete jake['name']; // 删除name属性
jake.name; // undefined
delete jake.school; // 删除一个不存在的school属性也不会报错


判断Object的某个属性是否存在



  •  in
var company = {
    name: 'google',
    age: '28',
    money: 'I do not known'
}
'name' in company       // true
'age' in company       // true


  • hasOwnProperty

var company = {...}
'name' in company       // true
'toString' in company   // true 

in虽然能判断属性是否存在,但是对象继承的属性也会参与判断,就导致上面这种情况,这时就需要使用hasOwnProperty

var company = {...}
company.hasOwnProperty('name')       // true
company.hasOwnProperty('toString')   // false




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值