博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js原型链接(二)和object类的create方法
阅读量:7137 次
发布时间:2019-06-28

本文共 1144 字,大约阅读时间需要 3 分钟。

原型链的内部执行方式

属性的重写与删除与原型链无关

获取原型对象的三种方法

通过constructor判定数据类型

 

 

constructor属性并不是对象的直接属性,而是通过原型链接 查找到的

每个对象在创建时 构造器会执行这样一句代码
this.prototype=
{
constructor:this,
__proto__:Object.prototype
}
通过改变prototype实现继承

数据类型判定(instanceof与isPrototypeOf)

属性的枚举

in 可以可判断本身属性和通过继承来的属性 是否存在于某个对象
hasOwnProperty只列出本身可以枚举的属性
有些属性被枚举出来是因为enumerable属性为false
getOwnPropertyNames可以无视枚举属性,列举出所有属性

 

 

ECMAScript里的Object类

Object里的create方法,是除了对象字面量与new表达式之外的第三种官方的生成对象的方法
第一个参数需要一个原型对象,第二个参数需要一个属性对象
如果将一个null作为原型传递给create方法 ,则会生成一个没有进行原型继承的对象

属性对象

create方法的第二个参数是一个关联数组,其键为属性名,其值为属性描述符(属性对象)
属性描述符指由下表中的 由属性组成的关联数组

属性对象

create方法的第二个参数是一个关联数组,其键为属性名,其值为属性描述符(属性对象)
属性描述符指由下表中的 由属性组成的关联数组

属性的属性名

含义

writable

可以改写属性的值

enumerable

可以通过for in枚举出

configurable

可以改变属性的属性,可以删除属性

get

可以指定属性值的getter函数

set

可以指定属性值的setter函数

属性值通过value属性指定.大部分属性的默认值是false,也可以显示地指定为true

与Object类的属性的属性有关的方法

 

方法

说明

defineProperty(o,p,attributes)

向对象o增加/更新具有特定信息的属性p

defineProperties(o,properties)

向对象o增加/更新具有特定信息的属性

getOwnPropertyDescriptior(o,p)

返回对象o的直接属性p的信息(值与属性)

 

 

如果属性的configurable属性为true,可以更改包括值在内的所有属性,反之如果为false,则不能

由于此时configurable的属性页无法更改,这是其实是无法进行任何更改的.

 

转载于:https://www.cnblogs.com/HKUI/p/4127383.html

你可能感兴趣的文章
Oracle DBA手记4:数据安全警示录
查看>>
HDU 4638 Group(分组)
查看>>
BZOJ 1037 生日聚会Party(DP)
查看>>
DG - 将physical standby置于read-only模式
查看>>
nginx的反向代理proxy_pass指令
查看>>
IIs工作原理
查看>>
用NSData玩转二进制文件的读写
查看>>
用户 'NT AUTHORITY\NETWORK SERVICE' 登录失败。
查看>>
ZOJ 1871. Steps
查看>>
Win8使用技巧
查看>>
js+ajax获取文件大小
查看>>
Normalization VS Denormalization [转]
查看>>
perl 实现ascall 码转换
查看>>
KVO 进阶
查看>>
【转】plist文件的内容清空
查看>>
mysql数据库全备和全备还原(使用Xtrabackup)
查看>>
VS无法启动调试:“生成下面的模块时,启用了优化或没有调试信息“
查看>>
C#直接读取磁盘文件(类似linux的Direct IO模式)
查看>>
NHibernate使用之详细图解
查看>>
大型网站的高可用分析
查看>>