2021.11.2:JavaScript(四):对象

JS的对象是一种无序集合数据类型,它由若干键值对组成。

var xiaoming = {
    name:'小明',
    birth:1990,
    school:'No.1 Middle School',
    height:1.70,
    weight:65,
    score:null
};

JS用一个{...}表示一个对象,键值对Key:Value形式申明,不同键值对间用,隔开。

访问一个对象的属性时,通过对象名.属性名来访问。不过这有个前提,就是Key必须是有效变量(也就是不含违规变量字符)。与有效变量相对的则是包含特殊字符变量,这种变量必须写为字符串形式

var xiaohong = {
    name:'小红',
    'middle-schoold':'No.1 Middle School'
};

访问特殊变量必须用['xxx']来访问,有效变量也可以通过这种形式访问,但是也必须加引号:

xiaohong['middle-school'];//'No.1 Middle School'
xiaohong['name'];//'小红'
xiaohong.name;//'小红'

不过对象.属性这种访问方式更简洁。我们在编写JavaScript代码时,应该尽量使用标准变量名。

实际上JS的所有属性都是String,不过属性对应的值可以是任意数据类型。

如果访问一个不存在的属性时,不会报错,而是返回undefined

属性操作

JS的对象是动态类型,我们可以自由地给一个对象添加或者删除属性。

添加属性

对象.新属性 = 值 ;

对象.['新属性'] = 值 ;

删除属性

delete 对象.属性;

delete 对象['属性'];

检查是否包含

'属性' in 对象 ,必须用'属性'这种形式,而不能是不加引号属性

in时,会把继承而来的属性也统计进来。

如果要忽略继承而来的属性,可以用hasOwnProperty()这种方法:

对象.hasOwnProperty('属性');

var xiaoming = {
    name:'小明'
};
xiaoming.hasOwnProperty('name');//true
xiaoming.hasOwnProperty('toString');//false

 

posted @ 2021-11-02 20:59  ShineLe  阅读(17)  评论(0)    收藏  举报