zoukankan      html  css  js  c++  java
  • 尚学堂requireJs课程---3、私有和公有属性和方法

    尚学堂requireJs课程---3、私有和公有属性和方法

    一、总结

    一句话总结:

    在 【模块】 的基础上,在return对象里面的方法和属性就是公有的(因为外部可以访问),不在的就是私有的
    <script type="text/javascript">
    /*
      私有与公有
    */
    var module = (function(){
      var infoObj = {
        name:'iwen',
        age:20
      }
    
      function getName(){
        if(!infoObj.name){
          return;
        }
        return infoObj.name;
      }
      function getAge(){
        if(!infoObj.age){
          return;
        }
        return infoObj.age
      }
    
      function setAge(age){
        if(age){
          infoObj.age = age;
        }
      }
    
      function setName(name){
        infoObj.name = name
      }
      /*
        公有方法:getName,getAge,setAge
        私有方法:infoObj
      */
      return{
        getName:getName,
        getAge:getAge,
        setAge:setAge,
        // setName:setName
      }
    
    })();
    
    console.log(module.getName());
    console.log(module.getAge());
    module.setAge(30);
    console.log(module.getAge());
    // module.setName("ice");  // 错误
    
    </script>

    二、内容在总结中

     1 <!DOCTYPE html>
     2 <html lang="en" dir="ltr">
     3   <head>
     4     <meta charset="utf-8">
     5     <title></title>
     6   </head>
     7   <body>
     8     <script type="text/javascript">
     9       /*
    10         私有与公有
    11       */
    12       var module = (function(){
    13         var infoObj = {
    14           name:'iwen',
    15           age:20
    16         }
    17 
    18         function getName(){
    19           if(!infoObj.name){
    20             return;
    21           }
    22           return infoObj.name;
    23         }
    24         function getAge(){
    25           if(!infoObj.age){
    26             return;
    27           }
    28           return infoObj.age
    29         }
    30 
    31         function setAge(age){
    32           if(age){
    33             infoObj.age = age;
    34           }
    35         }
    36 
    37         function setName(name){
    38           infoObj.name = name
    39         }
    40         /*
    41           公有方法:getName,getAge,setAge
    42           私有方法:infoObj
    43         */
    44         return{
    45           getName:getName,
    46           getAge:getAge,
    47           setAge:setAge,
    48           // setName:setName
    49         }
    50 
    51       })();
    52 
    53       console.log(module.getName());
    54       console.log(module.getAge());
    55       module.setAge(30);
    56       console.log(module.getAge());
    57       // module.setName("ice");  // 错误
    58 
    59     </script>
    60   </body>
    61 </html>
     
  • 相关阅读:
    MySQL-Front的安装简介
    【翻译】如何通过使用两台电脑变得更加有效率
    Vim学习资源汇总
    21天战拖记——Day1:不算好的开始(2014-05-04)
    课时97.背景定位上(掌握)
    课时96.背景平铺(掌握)
    课时95.背景图片(掌握)
    课时94.背景颜色(掌握)
    课时93.百度首页(理解)
    课时92.CSS元素显示模式转换(掌握)
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/11610527.html
Copyright © 2011-2022 走看看