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);