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

浙公网安备 33010602011771号