JS 学习笔记 (四) 对象

对象除了包含属性外,还拥有三个相关的对象特性:

1.对象的原型(prototype):指向另外一个对象,本对象的属性继承自它的原型对象。

2.对象的类(class):是一个标识对象类型的字符串。

3.对象的扩展标记(extensible flag):指明是否可以向该对象添加新属性。

 

 

对象的等于操作是将对象的地址复制给对方,属于浅拷贝

 

克隆对象:

1 Function.prototype.clone = function(o){ // 对象克隆方法
2  function Temp(){};//新建空构造函数
3 Temp.prototype = o;//把参数对象赋值给该构造函数的原型对象
4 return new Temp();//返回实例化后的对象
5 }

 

 

对象属性的特性:

1.可写(writable attribute)是否可以设置该属性的值

2.可枚举(enumerable attribute)是否可以通过for/in循环返回该属性

3.可配置(configurable attribute)表明是否可以删除或修改该属性

 

删除属性: delete运算符可以删除对象属性,删除对象属性后,不是将该属性值设置为undefined,而是从对象中彻底清除属性。

 

对象内部都包含一个this关键字,它总是引用调用该方法的对象。

 

配置特性:

Object.seal(object): 阻止修改现有属性的特性,并阻止添加新属性。但对属性不进行保护。

Object.freeze(object):阻止修改现有属性的特性和值,并阻止添加新属性。

Object.preventExtensions(object):阻止添加新属性。

posted @ 2019-08-02 17:08  码农拔萝卜  阅读(95)  评论(0编辑  收藏  举报