zoukankan      html  css  js  c++  java
  • 模块模式——属性

      私有变量 与 自执行匿名函数 返回对象上的属性 的理解

    // 自执行匿名函数的值保存在变量prison里面
    var prison = (function () {
      var prisoner_name = 'WangMing',
          jail_term = '20 year term';
    
      // 自执行匿名函数返回了一个对象,对象上的属性正是我们想要的
      return {
        prisoner: prisoner_name + ' - ' + jail_term,
        sentence: jail_term
      };
    })();
    
    // prison.prisoner_name未定义,因为它不是自执行匿名函数返回对象上的属性
    console.log( prison.prisoner_name );
    // this outputs 'WangMing - 20 year term'
    console.log(prison.prisoner);
    // this outputs '20 year term'
    console.log(prison.sentence);
    

      自执行匿名函数会立即执行,返回一个拥有prisoner和sentence属性的对象。匿名函数没有保存在prison变量中,因为匿名函数被执行了:匿名函数的返回值保存在变量prison中。

      在全局作用域中添加了prison变量,没有添加prisoner_name和jail_term变量。在稍大一点的模块中,减少全局变量是很重要的。

      单页应用很庞大,不能定义在一个文件中。使用自执行匿名函数封装私有变量返回自执行匿名函数对象上的属性,隐藏私有变量,调用对象上的属性形成模块。将该文件分成一个个的模块,每个模块都有它自己的私有变量。

     

  • 相关阅读:
    C#中的一些访问修饰符
    Win7下各种Oracle服务的作用
    MySql创建视图
    Sql Server SQL语句创建数据库
    C语言函数指针:获得任意类型数组的最大
    SQLHelper帮助类
    .Net有哪些大型项目、大型网站的案例
    复习一些小知识
    Js作用域与作用域链
    路飞-自定义User表和Media配置
  • 原文地址:https://www.cnblogs.com/nodejsxxh/p/4422109.html
Copyright © 2011-2022 走看看