JavaScript学习日记2 对象
2015-11-02 14:58
531 查看
JavaScript的对象是一种无序的集合数据类型,它由若干键值对组成。
JavaScript用一个
如:
注意:最后一个键值对不需要在末尾加
访问属性是通过
如: var xiaoming = {
name:'小明',
'Middle School':'No.1 Middle School'
}
xiaoming['Middle School'] //No.1 Middle School;
xiaoming.name // 小明
也可以用
由于JavaScript的对象是动态类型,你可以自由地给一个对象添加或删除属性:
如:
如果我们要检测
注意:不过要小心,如果
要判断一个属性是否是
JavaScript用一个
{...}表示一个对象,键值对以
xxx: xxx形式申明,用
,隔开。
如:
var xiaoming={name:'小明',birth:1990,school:'No.1 Middle School', height:1.70,weight:65,score:null}
注意:最后一个键值对不需要在末尾加
,,如果加了,有的浏览器(如低版本的IE)将报错。
访问属性是通过
.操作符完成的,但这要求属性名必须是一个有效的变量名。如果属性名包含特殊字符,就必须用
''括起来:
如: var xiaoming = {
name:'小明',
'Middle School':'No.1 Middle School'
}
xiaoming的属性名
middle-school不是一个有效的变量,就需要用
''括起来。访问这个属性也无法使用
.操作符,必须用
['xxx']来访问:
xiaoming['Middle School'] //No.1 Middle School;
xiaoming.name // 小明
也可以用
xiaoming['name']来访问
xiaoming的
name属性,不过
xiao的写法更简洁。我们在编写JavaScript代码的时候,属性名尽量使用标准的变量名,这样就可以直接通过ming.name
object.prop的形式访问一个属性了。
由于JavaScript的对象是动态类型,你可以自由地给一个对象添加或删除属性:
如:
var xiaoming = { name: '小明' }; xiaoming.age; // undefined xiaoming.age = 18; // 新增一个age属性 xiaoming.age; // 18 delete xiaoming.age; // 删除age属性 xiaoming.age; // undefined delete xiaoming['name']; // 删除name属性 xiaoming.name; // undefined delete xiaoming.school; // 删除一个不存在的school属性也不会报错
如果我们要检测
xiaoming是否拥有某一属性,可以用
in操作符:
var xiaoming = { name: '小明', birth: 1990, school: 'No.1 Middle School', height: 1.70, weight: 65, score: null }; 'name' in xiaoming; // true 'grade' in xiaoming; // false
注意:不过要小心,如果
in判断一个属性存在,这个属性不一定是
xiaoming的,它可能是
xiaoming继承得到的
要判断一个属性是否是
xiaoming自身拥有的,而不是继承得到的,可以用
hasOwnProperty()方法:
相关文章推荐
- Cookie同域,跨域单点登录
- javascript 学习总结(九)面向对象编程
- Js--递增
- Js--浮动那点事儿
- Js--addClass封装
- Js--表单那点事儿
- Js--判断那点儿事
- Jsoup解析HTML和Epub
- JS小实践2--写聊天框
- JS小实践1--字体变大变小
- js 常用知识点
- js实现动态加载脚本的方法实例汇总
- navigator,JS检测浏览器插件
- 一段动态生成表格的JSP代码讲解
- EXTJS常用设置(持续更新)
- JSONP和AJAX不同过程的详细分析
- js中中文逗号与英文逗号的互相转换
- 使用jsoup解析HTML之jsoup和HTML DOM简介
- JavaScript中类和构造函数的理解
- 百度地图API示例 JS