javascript中的对象

1.对象的定义

javascript中的对象是一种数据类型,被称为复合数据类型。对象的准确定义是无序属性的集合,其值可以包括,基本值,对象,函数。

2.生成对象

(1).对象字面量的形式

var a={};//创建了一个空对象
var b={a:1,b:2}//创建了一个具有两个属性的对象
//b对象的b属性在es5中是不可以加逗号的,但在ecma2015中可以加逗号,
//主要是为了,以后添加属性时,如果在版本控制工具中会显示修改了两处。

(2).通过构造函数的形式

var a=new Object();//创建一个空对象。
var b=new Array();//创建一个空数组。
var c=new Date();//创建一个时间对象。
var d=new RegExp();//创建一个正则对象
//上面的对象都是通过内置的构造函数创建的对象,还可以通过自定义的构造
//函数,创建对象。
function Person(){
}
var p=new Person();//通过自定义的构造函数,创建对象。
//自定义的构造函数一般首字母大写。

3.对象属性的查询和设置

(1)查询对象的属性

对象可以通过“.”和([])来获取对象的属性。运算符的左侧应该是一个表达式,表达式返回的结果是一个对象。对于“.”来说运算符的右侧是一个以属性名命名的标识符。对于方括号来说([]),方括号内,必须是一个运算结果为字符串的表达式。

var person={
    name:"qi",
    age:24
}
console.log(person.name);//qi
console.log(person.age);//24
console.log(person["name"]);qi
console.log(person["age"]);24

ECMAscript 3中点号运算符后面不可以是保留字或者关键字。只可以使用方括号运算符。但是在ECMAscript 5中放宽了限制,可以在点号后面使用保留字。
查询一个对象不存在的属性,不会报错。而是会返回undefined。
例如:

console.log(a.b.c);

上面的代码首先会在作用域中查找a,找到这个变量后,对象属性访问规则会分别接管对 b 和 c 属性的访问。

(2)设置对象的属性

var person={
    age:24
}
person.age=18;
console.log(person.age);//18

(3)删除对象的属性

delete运算符可以删除对象的属性。

var person={
    name:"qi",
    age:24
}
delete person.name;//person不再有name属性
console.log(person.name);//undefined

delete运算符并不是删除了person的name属性,而是切断了person与name属性的联系。
delete运算符只可以删除对象自身上的属性,不可以删除继承来的属性。
并且在属性描述符的“[[Configurable]]”设置为true的时候才可以,如果删除成功会返回true。
如果要删除继承的属性,只可以在对象的原型上下手。但是这会影响所以继承自原型对象的属性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值