实现当对象下的属性又是一个对象的时候,怎么来防止该对象下这个对象的属性被改变

Posted 是桂

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实现当对象下的属性又是一个对象的时候,怎么来防止该对象下这个对象的属性被改变相关的知识,希望对你有一定的参考价值。

Object.defineProperty(Object, ‘freezePolyfill‘, {
		  value: function(obj) {
		    var i;
		    for (i in obj) {
		      if (obj.hasOwnProperty(i)) {
		        if(typeof(obj[i])===‘object‘){
		          Object.freezePolyfill(obj[i]);
		        }else{
		          Object.defineProperty(obj, i, {
		            writable: false
		          });
		        }
		      }
		    }
		    Object.seal(obj);
		  }
		});
		
	
		const xiaoming = {	
		  age: 14,
		  name: ‘小明‘,
		  obj: {
		    a: 1
		  }
		};
		Object.freezePolyfill(xiaoming);
		

  

以上是关于实现当对象下的属性又是一个对象的时候,怎么来防止该对象下这个对象的属性被改变的主要内容,如果未能解决你的问题,请参考以下文章

如何防止对象数字属性的自动排序?

2020.3.19

HashMap中value存放对象,怎么根据对象的某个属性得到该对象

动手实现AOP

单例模式--反射--防止序列化破坏单例模式

当没有其他引用保留对象时,如何将 id 对象安全地存储在 ARC 下的 C++ void* 成员中?