JavaScript对象(一)

本文介绍了JavaScript对象的特性,包括对象原型、类、扩展标记以及对象的创建方法如对象直接量和`Object.create()`。重点讲解了对象属性的访问、继承机制,包括自有属性和继承属性的查询与赋值,以及属性的删除、检测和枚举。通过实例展示了如何使用`delete`运算符、`hasOwnProperty`方法和`for...in`循环来操作对象属性。
摘要由CSDN通过智能技术生成

对象
对象是动态的——可以新增属性也可以删除属性,但是对象经常用来模拟静态对象以及静态类型语言中的“结构体”。对象的属性是可以增加和删除的。
对象特性

对象原型(prototype):指向另外一个对象,本对象的属性继承自它的原型对象。
对象的类(class):是一个表示对象类型的字符串。
*对象的扩展标记(extensible flag):指明是否可以向该对象添加新属性。
属性特性

可写 (是否可以设置属性值)
可枚举 (是否可以通过for in 循环返回该属性)
可配置 (是否可以删除或者修改属性)
对象的创建

对象直接量
创建对象最简单的方法是通过对象直接量。

var empty = {
   }; //没有任何属性的对象
 var point = {
   x:0, y:0}; // 两个属性
 var point2 = {
   x:point.x, y:point.y+1}; 
 var student = {
   
     name:"Allen",                //属性名可以不用引号
     age:23,
     school:{
                         //这个属性值是一个对象,
       "primary school" :"试验小学",//属性名中有空格,必须字符串
       "middle-school" :"育才中学" ,//属性名中有连接符,必须用字符串
}
}
/*最后注意一点,属性名尽量避免使用空格、连接符、或者关键字,如果必须使用的话,尽量用引号引起来*/

通过new 创建对象

var mObj = new Object(); // 创建一个空对象,和{}一样
 var arr = new Array(); // 创建一个空数组,和[]一样
var mDate = new  Date(); // 创建一个表示当前时间的Date对象

通过 Object.create()
在这里,我们先弄清楚一个名词——原型,每一个JS对象(除了null)都和另一个对象相关联。“另一个”对象就是我们所说的原型,每一个对象都从原型继承属性。
所有通过对象直接量创建的对象都具有同一个原型对象,并可以通过JS代码Object.prototype获得对原型对象的引用。通过关键字new和构造函数调用创建的对象的原型就是构造函数的prototype属性的值。因此,同使用{}创建对象一样,通过new Object()创建对象也继承自Object.prototype

ECMAScript 5 定义了一个名为Object.create()的方法,它创建一个新的对象,其中第一个参数就是对象原型,第二个参数是可选参数,用以对对象的属性进行进一步描述。
Object.create()`是静态函数,而不是提供给某一个对象调用的方法。

var obj = Object.create({
   x:1,y:2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值