javascript面向对象编程探讨
ECMA-262定义一个对象作为一个集合的无序的属性,这些属性可以包含基本的价值观,对象或函数理解对象的最简单的方法是创建对象的实例,并向它添加属性和方法。
复制代码代码如下所示:
var =新对象();
person.name =徐磊;
person.age =23;
person.job =前端工程师;
person.sayname =函数(){
警报(这个名字);
}
也可以用这种方式写。
复制代码代码如下所示:
var
名称:徐蕾
年龄:23岁,
工作:前端项目
sayname:函数(){
警报(这个名字)
}
}
1。属性类型:数据属性及其属性的访问
1。数据属性,以及描述它们行为的4个特性
{ }:可配置是否可以被删除的属性,使我们可以重新定义属性,我们是否可以修改属性的属性,或者我们是否可以修改属性访问器的属性,和默认值为true。
{枚举}:指示是否能够返还财产的,与真正的默认值
{ { } }:表示是否可以修改属性,默认值为真。
{值}:包含此属性的数据值。默认值未定义。
复制代码代码如下所示:
var
名称:旭蕾
}
一个对象被创建在这里,和价值是Xulei
要修改一个属性的默认属性,您必须使用ecmascript5的object.defineproperty(对象的属性设置,的属性,描述对象的名称)
描述对象必须是可配置的,可枚举,可值
复制代码代码如下所示:
var庇隆{ }
object.defineproperty(庇隆,名字
可写的:不能修改假属性
价值:Xu Lei徐磊
});
警报(庇隆的名字); / /徐雷-徐磊
peron.name =徐雷;
警报(庇隆的名字); / /徐雷-徐磊
以上操作是不严谨的方式忽略,如果抛出在严格模式是例外。
属性定义为一个不可配置的属性后,就不能重新配置它了。
在大多数情况下,没有必要利用这些先进的功能的object.defineproperty提供()方法,但是它的理解很有用。
建议读者不要使用此方法对IE8。
2。访问它的属性,有4个特性
{ }:可配置是否可以被删除的属性,使我们可以重新定义属性,我们是否可以修改属性的属性,或者我们是否可以修改属性访问器的属性,和默认值为true。
{枚举}:指示是否能够返还财产的,与真正的默认值
{ }:读取时调用的函数
{ }:当属性写入时调用的函数