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>
     
  • 相关阅读:
    将网站从WSS2.0升级到WSS3.0的心得
    Teched 2008课程:ADO.NET Data Service & UC开发概览
    我的基于Silverlight2的相册,也刚刚升级到了RTW了。
    ubuntu16.04设置python3为默认及一些库的安装
    CDMA手机的MEID
    CDMA Subscription 模式设置
    Android架构纵横谈之——软件自愈能力(转载)
    CDMA系统中的用户识别卡(UIM)和空中激活技术(OTA)
    手机信号强度全解析
    GSMPhone与CDMAPhone切换过程
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/11610527.html
Copyright © 2011-2022 走看看