• 尚学堂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>
     
  • 相关阅读:
    tinymce原装插件源码分析(二)-link
    tinymce原装插件源码分析(一)-hr
    pyinstall 常见错误
    matlab Time-domain analysis 渐进式或者实时获取仿真值
    初识python和pycharm
    自定义指令详解
    Vue核心知识一览
    多维数组 转化为 一维数组
    js面试之数组的几个不low操作
    js如何操作或是更改sass里的变量
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/11610527.html
Copyright © 2020-2023  润新知