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

本文共 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

你可能感兴趣的文章
Python全栈工程师(多继承、函数重写)
查看>>
Spark2.1.0之内置RPC框架
查看>>
js对于小数的处理
查看>>
Jenkins - 构建Allure Report
查看>>
完美数据迁移-MongoDB Stream的应用
查看>>
http2-stream-optima-prioritation
查看>>
spring事件驱动模型--观察者模式在spring中的应用
查看>>
MySQL性能优化速记
查看>>
十问 | 关于Service Mesh 和Kubernets的最前沿思考
查看>>
你必须非常努力,才可以看起来毫不费力。
查看>>
Maven就是这么简单
查看>>
css loading
查看>>
不能ssh连接ubuntu linux 服务器 secureCRT不能ssh连接服务器 不能远程ssh连接虚拟机的ubuntu linux...
查看>>
使用Android BindingAdapter与InverseBindingAdapter实现SeekBar双向(正向/反向)数据绑定...
查看>>
Expect 安装 on centos7
查看>>
VM虚拟机的配置文件(.vmx)损坏修复
查看>>
RxJava/RxAndroid : doAfterNext
查看>>
利用graphviz模块展示斐波那契数列的递归函数调用图(Python)
查看>>
标准模板库(STL)学习指南之map映射
查看>>
CentOS7.X的系统管理、安全设置及系统优化思路
查看>>