obj1 = {
  internal: {}
}; Object.freeze(obj1);
obj1.internal.a = 'aValue'; obj1.internal.a // 'aValue' // To make obj fully immutable, freeze each object in obj.
// To do so, we use this function.
function deepFreeze(obj) {   // Retrieve the property names defined on obj
  var propNames = Object.getOwnPropertyNames(obj);   // Freeze properties before freezing self
  propNames.forEach(function(name) {
    var prop = obj[name];     // Freeze prop if it is an object
    if (typeof prop == 'object' && prop !== null)
      deepFreeze(prop);
  });   // Freeze self (no-op if already frozen)
  return Object.freeze(obj);
} obj2 = {
  internal: {}
}; deepFreeze(obj2);
obj2.internal.a = 'anotherValue';
obj2.internal.a; // undefined

最新文章

  1. ajax之 get post请求
  2. LoadRunner 函数之lr_xml_get_values
  3. 二十五、【开源】EFW框架Winform前端开发之强大的自定义控件库
  4. Object-c:两种文件读写的对比
  5. Oracle笔记 十一、PL/SQL函数和触发器
  6. Android点击按钮实现全屏的代码
  7. 数往知来 JavaScript<十三>
  8. Trainning Guide, Data Structures, Example
  9. C#学习笔记9:C#中的变量、转义符、显式转换和隐式转换
  10. Python基础 1----Python语言基础和Python环境准备与安装
  11. scipy安装失败
  12. 转载:IntelliJ Idea 常用快捷键列表
  13. myeclipse复制项目
  14. shell编程 之 传递参数到脚本里
  15. Sci_DRead_ParaBuzzerDriver_st_BuzzerSoundOpening1
  16. 001-快速搭建Spring web应用【springboot 2.0.4】-gradle、springboot的启动过程分析、gradle多模块构建
  17. syslog、日志服务器安装、卸载详解、如何安装和卸载EventLog Analyzer
  18. MariaDB的存储过程和函数
  19. [转] JSON转换
  20. English trip -- VC(情景课)9 C What are they doing? 他们在做什么?

热门文章

  1. AppDomain (转)
  2. iBatis.Net 语句 获取Identity ID
  3. 脚本_查看所有虚拟机磁盘以及 CPU 的使用量
  4. Firewalld--01 防火墙安全、基本指令、区域配置
  5. 线程池-连接池-JDBC实例-JDBC连接池技术
  6. 记录cobbler报错
  7. 【LeetCode】前缀树 trie(共14题)
  8. git log的个性化设置
  9. Python比较两个excel文档内容的异同
  10. android开发里跳过的坑——GridView使用Glide加载图片不显示