文档章节

JavaScript面向对象

青慕
 青慕
发布于 2017/09/07 17:41
字数 518
阅读 2
收藏 0

行业解决方案、产品招募中!想赚钱就来传!>>>

1.对象的声明:JavaScript用一个{...}表示一个对象,键值对一xxx: xxx 形式声明,用","隔开(注意:最后一个键值对不需要在末尾见","  以免在低版本的IE浏览器中报错):

var person = {
    name: "歪果仁",
    age: 18,
    sex: "男",
    height:180,
    hobby:"撩妹"
}

 

访问对象的属性是通过"."操作符来完成的,但后面跟的必须是一个有效的变量名。如果属性名包含特殊字符,就必须用''括起来(如果变量不是一个有效变量,访问这个属性也无法使用".",必须用['xxx']来访问)

var student = {
    age: 18,
    student-number: 1324520
};

student['student-number'];   // 1314520

//也可以通过这样来访问其他的属性
student['age'];   //18

所以我们在编写JavaScript代码的时候尽量使用标准的变量名,这样就可以直接通过objict.prop的形式访问一个属性了。

实际上JavaScript对象的所有属性都是字符串,不过属性对应的值可以是任意数据类型。

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

 

JavaScript的对象是动态类型,你可以自由的给一份对象添加或删除属性。

var wuzao = {
    name:wuzao,
}

wuzao.age;  // undefined
wuzao.age = 18;  // 新增一个age属性
wuzao.age;  // 18
delete wuzao.age;  // 删除age属性
wuzao.age;  // undefined
delete wuzao['name'];  //删除name属性
delete wuzao.height;   // 删除一个不存在的height也不会报错

 

我们要检测对象是否拥有某一属性,可以用 in 操作符

var person = {
    age: 18,
    height:175
}

'age' in person;   // true
'name' in person;   // false



// 不过要注意,如果 in 判断一个属性存在,这个属性不一定是person的,它可能是person继承得到的
'toString' in person;  // true
//因为toString 定义在object对象中,而所有的对象最终都会在原形链上指向object,所以person也拥有toString属性。



// 要判断一个属性是否是person自身拥有的,而不是继承得到的,可以用hasOwnProperty() 方法。
var person = {
    age: 18,
    height:175
}
person.hasOwnProperty('age');  // true
person.hasOwnProperty('toString');  //false

 

上一篇: JavaScript的循环
青慕
粉丝 4
博文 19
码字总数 8413
作品 0
贵阳
程序员
私信 提问
加载中
请先登录后再评论。

暂无文章

springboot 上传文件

package com.taven.demo;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframewor......

tavenpy
24分钟前
4
0
GitHub 标星 44k!史上最全技术面试手册!

整理:迷妹 大家好,我是为前端娱乐圈操碎了心的小迷妹,每天推荐一个小工具/源码,装满你的收藏夹,每天分享一个小技巧,让你轻松节省开发效率,实现不加班不熬夜不掉头发,是我的目标。 每...

祈澈菇凉
今天
0
0
Sublime Text3配置及控制台乱码[cmd杀死进程乱码/编译文件乱码]解决方法

Sublime Text3配置及控制台乱码[cmd杀死进程乱码/编译文件乱码]解决方法 参考文章: (1)Sublime Text3配置及控制台乱码[cmd杀死进程乱码/编译文件乱码]解决方法 (2)https://www.cnblogs...

osc_wl6d9wri
25分钟前
0
0
JS实现网页轮播(每隔5秒切换)

function onload() { <%=sb_js_onload.ToString() %> var timer = setInterval("jump_url()", 1000); } var arrurl = ["screen.aspx?code......

_Somuns
25分钟前
7
0
程序猿:论学习方式的重要性

大家都知道,做我们开发这行的,最核心的竞争力就是学习能力。技术一直在变化,框架一直在更新,学还是不学。 不学,你会落伍,学,太累了,根本学不过来。学习只要找对了方法,也没那么累。...

osc_zg8wy3xa
27分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部